我有一个小型的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发布堆栈跟踪。
问题内容: 我想在两次通话之间延迟5秒…我该如何在jQuery中执行此操作…似乎jQuery对此不起作用… 问题答案: 您可以使用普通的javascript,这将在5秒后调用一次your_func: 如果您的函数没有参数且没有显式接收器,则可以直接调用我曾经用过一个插件。它具有和方法。
问题内容: 我试图在用户按下屏幕上的按钮时自动将SMS消息发送到特定号码。 这是我的代码: xxxxxxx =电话号码 我具有以下权限: 当我按下按钮时,它将带我到另一个屏幕,在该屏幕上我可以编辑文本并按发送。我只希望它自动执行此过程,而无需带我到另一个屏幕。因为已经定义了消息,所以我只想将其发送到特定号码。 而且我不确定我是否将相应的电话号码放在第二行代码中。我必须首先在其中输入国家代码吗?或者
问题内容: 我希望能够在指定的延迟后调用以下方法。在目标c中,有类似以下内容: android和java中的此方法是否等效?例如,我需要能够在5秒钟后调用一个方法。 问题答案: Kotlin Java
我用Webview创建了一个应用程序,需要自动按下按钮 返回null。 任何帮助都将不胜感激!
我正在为Android在Eclipse中编写一个应用程序。该应用程序不断与Web服务器中的内容进行通信。在服务器中,我有一个带有另一个按钮的html文件。我希望当我按下Android应用程序中的按钮时,html文件中的按钮被自动单击...是否可能。请建议... 我看到下面的代码(jquery): 谢啦
问题内容: 我想在更改背景之间的命令之间设置延迟。我尝试使用线程计时器,并尝试使用运行和捕获。但这不起作用。我试过了 但这只是变成黑色。 问题答案: 试试这个代码: