我在Alert Dialog中有2个按钮,我想让它像是如果单击“EXIT”,它将跳转到MainActivity,当“Restrat”单击时它将跳转到B_Activity 感谢
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE,"Exit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "Restart", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
答案 0 :(得分:1)
我想要点击“EXIT”点击它,它会跳转到MainActivity
我猜你在打开对话框的时候已经MainActivity
了,只需一个简单的dialog.dismiss();
就可以回到MainActivity
,如果不是,你就必须intent
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE,"Exit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); //if you are on `MainActivity`
Intent i = new Intent(getContext(), MainActivity.class); //if under this dialog you do not have your MainActivity
getContext().startActivity(i);
}
});
1}}如下
Intent
当点击“Restrat”时,它将跳转到B_Activity
您必须按如下方式alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "Restart", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(getContext(), B_Activity.class)
getContext().startActivity(i);
}
Intent i = new Intent(YourCurrentActivity.this, TargetActivity.class);
startActivity(i);
注意:在问了一些问题之后,请阅读一些关于Android的基础知识,我会解释一下代码。
为什么要使用dialog.dismiss();
?
关闭此对话框,将其从屏幕上删除。
为什么要使用Intent
?
intent是要执行的操作的抽象描述。它可以与startActivity一起使用来启动Activity,broadcastIntent可以将它发送到任何感兴趣的BroadcastReceiver组件,startService(Intent)或bindService(Intent,ServiceConnection,int)可以与后台服务进行通信。
这是什么getContext()
?
检索运行此Dialog的Context并返回Dialog使用的Context。
希望这个答案有助于解决您的问题。
答案 1 :(得分:0)
你可以使用Intent来启动一个Activity,就像那样:
db.default.url="jdbc:h2:mem:play"
并在onClick方法中编写此代码。
答案 2 :(得分:0)
您可以使用以下代码轻松切换您的活动:
Intent myIntent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(myIntent);
但请花点时间阅读documentation