Android 从AlertDialog启动活动
我想从AlertDialog.Builder启动活动,但无法从对话框界面的OnclickListener启动任何活动。从Android 从AlertDialog启动活动,android,android-intent,dialog,Android,Android Intent,Dialog,我想从AlertDialog.Builder启动活动,但无法从对话框界面的OnclickListener启动任何活动。从setPositiveButton和setNegativeButton(尝试了两种显示方式作为示例)两个按钮都不工作,也不会启动menuactivity或exo5P1 public class exo5 extends AppCompatActivity { private Button button; private EditText edt1, edt2,
setPositiveButton
和setNegativeButton
(尝试了两种显示方式作为示例)两个按钮都不工作,也不会启动menuactivity
或exo5P1
public class exo5 extends AppCompatActivity {
private Button button;
private EditText edt1, edt2, edt3, edt4, edt5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_exo4);
button = findViewById(R.id.button);
edt1 = findViewById(R.id.editText);
edt2 = findViewById(R.id.editText3);
edt3 = findViewById(R.id.editText8);
edt4 = findViewById(R.id.editText5);
edt5 = findViewById(R.id.editText7);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder ValidationDialog = new AlertDialog.Builder(exo5.this);
ValidationDialog.setTitle("Validation");
ValidationDialog.setMessage("Voulez-vous vraiment valider").setCancelable(false).setPositiveButton("Oui", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Vous Avez bien validé votre choix", Toast.LENGTH_LONG).show();
Intent intent = new Intent( exo5.this,exo5P1.class);
startActivity(intent);
}
}).setNegativeButton("Non", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Vous Avez annulé votre choix", Toast.LENGTH_LONG).show();
Intent intent =new Intent(exo5.this,menuActivity.class);
exo5.this.startActivity(intent);
}
});
AlertDialog Dialog = ValidationDialog.create();
Dialog.show();
}
});
}
}
我还尝试在Intent中使用
getApplicationContext()
,但不起作用。我在我的项目中尝试了这一点,它正在启动活动
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder ValidationDialog = new AlertDialog.Builder(exo5.this);
ValidationDialog.setTitle("Validation");
ValidationDialog.setMessage("Voulez-vous vraiment valider").setCancelable(false).setPositiveButton("Oui", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(exo5.this, MyTestAct.class);
startActivity(intent);
}
}).setNegativeButton("Non", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog Dialog = ValidationDialog.create();
Dialog.show();
}
});
exo5.this.startAct…..我在setNegativeButton中尝试过,但不起作用,请提供更好的信息。您在设计时或运行时遇到问题?那是哪一个?对不起,我编辑了我的问题我照抄粘贴了它,它仍然不起作用,不明白为什么我用同一个类创建了一个新项目,它现在起作用了,仍然不明白这个问题