gpt4 book ai didi

java - 如何在 5 秒延迟后自动单击 Android 中的按钮

转载 作者:行者123 更新时间:2023-11-29 07:36:01 27 4
gpt4 key购买 nike

我有一个小型 Android 应用程序,它会在 5 秒后自动点击按钮。我使用了 performClick(); 但这不起作用。当计时器归零时,它就会崩溃。

这是我的代码:

protected void onCreate(Bundle savedInstanceState) {
try {
super.onCreate(savedInstanceState);
setContentView(R.layout.local);
getActionBar().setIcon(R.drawable.menu_drop);

buttonClick();

Thread timer = new Thread(){
public void run(){
try{
sleep(5000);
} catch (InterruptedException e){
e.printStackTrace();
}finally{
button1.performClick();
}
}
};
timer.start();
} catch (NotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void buttonClick() {
button1 = (Button) findViewById(R.id.button);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(TestButton2.this, LocationView.class);
startActivity(i);
}
});
}

最佳答案

您应该发布包含错误消息的 logcat,但一个问题可能是您正在访问 UI 线程之外的 UI 元素,这不是一个好主意。

要做你想做的事,你真的不需要另一个线程。您可以使用 Handler 和延迟的 Runnable 代替,如下所示。

new Handler().postDelayed(new Runnable() {
@Override
public void run() {
button1.performClick();
}
}, 5000);

这将安排 Runnable 在 5 秒后在 UI 线程上执行。如果仍然崩溃,请发布来自 logcat 的堆栈跟踪。

关于java - 如何在 5 秒延迟后自动单击 Android 中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35708453/

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