如何让java等待x秒,然后执行
我在制作一个应用程序时,会遇到一个无法修复的问题。 我正在使用Android Studio,我需要制作一个我已经制作好的按钮。做得比现在更多。我希望它在显示文本后也关闭应用程序。你知道我该怎么编程序吗。这将非常有帮助。提前谢谢 以下是Java代码:如何让java等待x秒,然后执行,java,android,xml,Java,Android,Xml,我在制作一个应用程序时,会遇到一个无法修复的问题。 我正在使用Android Studio,我需要制作一个我已经制作好的按钮。做得比现在更多。我希望它在显示文本后也关闭应用程序。你知道我该怎么编程序吗。这将非常有帮助。提前谢谢 以下是Java代码: package test.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.V
package test.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void buttonOnClick(View v) {
Button button=(Button) v;
((Button) v).setText("Correct");
}
public void buttonAnClick(View q) {
Button button=(Button) q;
((Button) q).setText("Niet goed");
}
}
我已经用XML制作了这个按钮,并告诉它:
android:onClick=“buttonnclick”
希望你能帮助我 退房
如果您希望事后发生一些事情,那么您需要的是:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
//What you want to happen later
}
}, 1500); //1500 = 1.5 seconds, time in milli before it happens.
把它放在按钮的方法中
如果您想关闭应用程序,请致电
finish();
完成关闭当前活动。如果堆栈上有其他活动,您会返回到它们,但由于您可能只有1个,因此应该退出。如果要暂停,请使用
java.util.concurrent.TimeUnit
例如:
TimeUnit.SECONDS.sleep(1);
如果您试图在按下按钮时延迟完成某项任务,请执行以下操作:
public void buttonOnClick(View v) {
Button button=(Button) v;
button.setText("Correct");
button.postDelayed(new Runnable(){
public void run() {
//runs after 1 second delay on UI thread
}
}, 1000L);
}
只需将方法放入您的按钮单击功能中
public void buttonOnClick(View v) {
//call method here
}
如果您想使用RxJava
Disposable di = Observable.timer(2, TimeUnit.SECONDS)
.subscribe(timer->{
//next action after 2 seconds
},throwable->{
// throw exception
});
要销毁一次性使用,di.dispose()代码>
如果使用Runnable和Handler
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
//next action after 2 seconds
}
}, 2*1000);
要停止处理程序,请使用,handler.removeCallbacksAndMessages(null)代码>试试这个
public void buttonOnClick(View v) {
Button button=(Button) v;
((Button) v).setText("Correct");
new android.os.Handler().postDelayed(new Runnable() {
@Override
public void run() {
finish();
}
},1000); // milliseconds: 1 seg.
}
你的头衔和身体不匹配。你的身体应该更清晰、更具描述性。此外,您不需要在onClick中执行所有操作来更改您已经有引用的视图的文本。Thread.sleep(5000)代码>将使程序暂停5秒。
public void buttonOnClick(View v) {
Button button=(Button) v;
((Button) v).setText("Correct");
new android.os.Handler().postDelayed(new Runnable() {
@Override
public void run() {
finish();
}
},1000); // milliseconds: 1 seg.
}