Android 是否在对话框中重复?

Android 是否在对话框中重复?,android,android-intent,Android,Android Intent,我写这段代码是为了在按下“确定”按钮后出现一个带有“是”和“否”选项的对话框。“是”应引导用户进入“ShowResult”活动,在该活动中,它将显示用户从“主活动”中输入的内容;“不”只会有一个祝酒词,上面写着“你已经取消了提交” 问题是,单击“确定”按钮时,对话框会弹出一秒钟,然后显示意图,覆盖对话框 如果单击“返回”并单击“是”,活动将不会显示用户输入。这是我一直在努力的主要活动代码。我希望不会改变太多的整体结构,因为这是一个学校项目,我们应该使用简单的技术 Button btnOK;

我写这段代码是为了在按下“确定”按钮后出现一个带有“是”和“否”选项的对话框。“是”应引导用户进入“ShowResult”活动,在该活动中,它将显示用户从“主活动”中输入的内容;“不”只会有一个祝酒词,上面写着“你已经取消了提交”

问题是,单击“确定”按钮时,对话框会弹出一秒钟,然后显示意图,覆盖对话框

如果单击“返回”并单击“是”,活动将不会显示用户输入。这是我一直在努力的主要活动代码。我希望不会改变太多的整体结构,因为这是一个学校项目,我们应该使用简单的技术

 Button btnOK;
    EditText txtName;
    EditText txtCoursename;
    RadioButton rdnYear1;
    RadioButton rdnYear2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnOK = (Button) findViewById(R.id.btnOK);
        btnOK.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {

        Intent intent = new Intent(this, ShowResult.class);
        txtName = (EditText) findViewById(R.id.txtName);
        txtCoursename = (EditText) findViewById(R.id.txtCoursename);
        rdnYear1 = (RadioButton) findViewById(R.id.rdnYear1);
        rdnYear2 = (RadioButton) findViewById(R.id.rdnYear2);

        intent.putExtra("Name", txtName.getText().toString());
        intent.putExtra("Course Name", txtCoursename.getText().toString());
        intent.putExtra("Year 1", rdnYear1.isChecked());
        intent.putExtra("Year 2", rdnYear2.isChecked());


        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setCancelable(false);

            switch (v.getId()) {
            case R.id.btnOK:
                builder.setTitle("You are submitting your data.");
                builder.setMessage("Are you sure?");
                builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(getApplicationContext(), "You cancelled the submission.", Toast.LENGTH_SHORT).show();
                    }

                });
                builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        startActivity(new Intent(MainActivity.this, ShowResult.class));

                    }
                });

                builder.show();
            }
    }
}

尝试将意图部分放入开关盒内,并添加startActivity(意图)

试着将意图部分放在开关盒内,并添加startActivity(意图)

您已经在“onClick”一开始就创建了一个意图。尝试使用相同的意图,而不是在点击后创建另一个新的。另外,我没有在您的switch案例中看到需要遵循的break语句

您已经在“onClick”一开始就创建了一个意图。尝试使用相同的意图,而不是在点击后创建另一个新的。另外,我没有在您的switch案例中看到需要遵循的break语句

builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    startActivity(new Intent(MainActivity.this, ShowResult.class));

                }
            });

            builder.show();
        }
这里您正在创建一个没有数据的新意图

您应该在使用putExtra()的地方使用以前创建的意图

使用以下命令:

builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
//////////////////////////// 星触觉(意向); \\\\\\\\\\\\\\ } });

这里您正在创建一个没有数据的新意图

您应该在使用putExtra()的地方使用以前创建的意图

使用以下命令:

builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
//////////////////////////// 星触觉(意向); \\\\\\\\\\\\\\ } });


根据“警报”对话框中的“是”按钮代码,您没有启动您创建的包含附加内容或字符串的意图。它应该是
startActivity(intent)
刚刚尝试了starActivity(intent),但它没有改变任何东西。根据警报对话框中的“是”按钮代码,您没有启动您创建的包含额外内容或字符串的
intent
。它应该是
startActivity(intent)
刚刚尝试了starActivity(intent),但没有改变任何东西。