我制作应用程序,我会遇到一个我无法解决的问题。 我正在使用Android Studio,我需要制作一个我已经制作的Button。它已经做了更多。我希望它在显示文本后也关闭应用程序。你知道我应该如何编程吗?这将非常有帮助。提前谢谢。
这是Java代码:
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创建了按钮并告诉它:
机器人:的onClick =" buttonOnClick"
希望你能帮助我!
答案 0 :(得分:3)
如果您希望之后发生一些事情,那么您需要的是:
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,它应该带你出去。
答案 1 :(得分:0)
CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
答案 2 :(得分:0)
如果您想暂停,请使用java.util.concurrent.TimeUnit
。
例如:
TimeUnit.SECONDS.sleep(1);
答案 3 :(得分:0)
如果您在按下按钮时尝试延迟完成某项操作,请执行以下操作:
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);
}
答案 4 :(得分:0)
只需将方法放入按钮点击功能
即可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);
答案 5 :(得分:0)
试试这个。
func didBegin(_ contact: SKPhysicsContact) {
print("collided!")
if (contact.bodyA.categoryBitMask == PhysicsCatagory.enemy && contact.bodyB.categoryBitMask == PhysicsCatagory.player) {
print("player and enemy!")
}
if (contact.bodyB.categoryBitMask == PhysicsCatagory.enemy && contact.bodyA.categoryBitMask == PhysicsCatagory.player) {
print("player and enemy!")
}
if (contact.bodyA.categoryBitMask == PhysicsCatagory.neutral && contact.bodyB.categoryBitMask == PhysicsCatagory.player) {
print("neutral and player!")
}
if contact.bodyB.categoryBitMask == PhysicsCatagory.neutral && contact.bodyA.categoryBitMask == PhysicsCatagory.player{
print("neutral and player")
} }