私は4つのクラスを持っています、
- FirstActivity
- Play_1
- Play_2
- Play_3
のボタンをクリックするFirstActivty
と、残りの3つのアクティビティにランダムに移動します。たとえば、次のコードで私はPlay3.class
...ハンドラーを3秒間実行するように設定しました。私の問題はrun()
、3秒間クリックするbackButton
と、に移動しFirstActivity.class
、3秒間後に、run()
再びランダムループに移動することです(、、Play_1
)。今、私はクリックしたときだけに永久に行きたいです。私は何をすべきか?Play_2
Play_3
FirstActivity.class
backButton
(注:3秒の時間が経過した後run()
、私は喜んでホーム画面に移動します。しかし、そのrun()
時間の間だけ、ループを中断してホーム画面に戻りたいと思います。)
class listener implements OnClickListener {
@Override
public void onClick(final View v) {
switch (v.getId()) {
case R.id.play3_image1:
bt1.setVisibility(View.GONE);
bt2.setVisibility(View.GONE);
bt3.setVisibility(View.GONE);
bt4.setVisibility(View.GONE);
bt5.setVisibility(View.GONE);
bt6.setVisibility(View.VISIBLE);
try {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Random rand = new Random();
int x = rand.nextInt(3) + 1;
Intent intent = new Intent();
switch (x) {
case 1:
intent.setClass(v.getContext(), Play_1.class);
break;
case 2:
intent.setClass(v.getContext(), Play_2.class);
break;
case 3:
intent.setClass(v.getContext(), Play_3.class);
break;
default:
break;
}
startActivity(intent);
}
}, 3000);
} catch (Exception e) { e.printStackTrace(); }
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0 ){
Intent i = new Intent(Play_3.this,Example.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
return super.onKeyDown(keyCode, event);
}
}
}