这是我的第一个问题,如果格式不正确,我深表歉意。我正在使用 java 并试图让计时器在单击按钮时在 while 循环内运行。一旦单击开始按钮,结果应该会导致 .setText 定期更改框中的文本。
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startBtn = findViewById(R.id.startButton);
item = findViewById(R.id.Rule);
startBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
while(true)
{
Timer();
}
}
});
}
public void Timer()
{
Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
item.setText()
}
}, 5000);
}`
问题是当点击开始按钮时,似乎什么也没发生。或者,我也尝试重复定时器调用。虽然这有效,但它只会运行一次计时器调用,然后结束点击功能。
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startBtn = findViewById(R.id.startButton);
item = findViewById(R.id.Rule);
startBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Timer();
Timer();
Timer();
Timer();
Timer();
}
});
}
public void Timer()
{
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
item.setText(ruleOut(rulesList));
}
}, 5000);
}
我一直无法找到任何东西或为此解决任何问题,因此非常感谢任何帮助。我确定我会遗漏一些明显的东西。谢谢你。
相关分类