gpt4 book ai didi

java - Android/java - 在 onClick 中使用计时器循环

转载 作者:太空狗 更新时间:2023-10-29 14:38:35 25 4
gpt4 key购买 nike

这是我的第一个问题,如果格式不正确,我深表歉意。我正在使用 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);
}

我无法为此找到任何东西或解决任何问题,因此非常感谢您的帮助。我确定我会遗漏一些明显的东西。谢谢。

最佳答案

您正在做的是同时运行所有计时器,因此所有计时器都同时执行尝试运行此代码

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)
{
for(int i = 5000; true; i= i+5000){
Timer(i);
}
}
});
}
public void Timer(int time)
{
Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
item.setText(String.valueOf(time));
}
}, time);
}`

关于java - Android/java - 在 onClick 中使用计时器循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51892414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com