Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从AlertDialog启动活动_Android_Android Intent_Dialog - Fatal编程技术网

Android 从AlertDialog启动活动

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,

我想从AlertDialog.Builder启动活动,但无法从对话框界面的OnclickListener启动任何活动。从
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中尝试过,但不起作用,请提供更好的信息。您在设计时或运行时遇到问题?那是哪一个?对不起,我编辑了我的问题我照抄粘贴了它,它仍然不起作用,不明白为什么我用同一个类创建了一个新项目,它现在起作用了,仍然不明白这个问题