Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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 如何从另一个自定义对话框跳转到自定义对话框_Android_Customdialog - Fatal编程技术网

Android 如何从另一个自定义对话框跳转到自定义对话框

Android 如何从另一个自定义对话框跳转到自定义对话框,android,customdialog,Android,Customdialog,在我的应用程序中,当用户单击按钮时,会弹出一个对话框。然后单击对话框中的“提交”按钮,将打开另一个对话框。在这个场景中,我面临的问题是,单击第一个对话框的按钮时,它会显示第二个对话框,但它不会关闭第一个对话框,第二个问题是,第二个对话框有一个Edittext框,并且在使用Edittext.getText时,它不会获取输入字符串 showCustomDialog是打开第一个对话框的方法 protected void showCustomDialog() { // TO

在我的应用程序中,当用户单击按钮时,会弹出一个对话框。然后单击对话框中的“提交”按钮,将打开另一个对话框。在这个场景中,我面临的问题是,单击第一个对话框的按钮时,它会显示第二个对话框,但它不会关闭第一个对话框,第二个问题是,第二个对话框有一个Edittext框,并且在使用Edittext.getText时,它不会获取输入字符串

showCustomDialog是打开第一个对话框的方法

   protected void showCustomDialog() {
            // TODO Auto-generated method stub
            final Dialog dialog = new Dialog(CallBlockerBlacklistViewActivity.this);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.setContentView(R.layout.blockoptionsdialog);


            Button button = (Button)dialog.findViewById(R.id.button1);    
            button.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    selectContactFromDevice();
                    dialog.dismiss();
                }
            });

            Button button1 = (Button) dialog.findViewById(R.id.manual);
            button1.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    showManualDialog();

                }
            });

            dialog.show();
        }  


protected void showManualDialog() {
        // TODO Auto-generated method stub
        final Dialog dialog = new Dialog(CallBlockerBlacklistViewActivity.this);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setContentView(R.layout.manualentry);

        final EditText manual_edittext=(EditText) dialog.findViewById(R.id.manualedittext);
        Log.d("txtB" , String.valueOf(manual_edittext));


        manual_number=manual_edittext.getText().toString();


        Button button1 = (Button) dialog.findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                addtolist(manual_number);



                dialog.dismiss();
            }


        });

        dialog.show();
    }

addtolist没有传递所需的数字。

答案1非常简单:您只有dialog.Disclose,而不是第二个

        Button button = (Button)dialog.findViewById(R.id.button1);    
        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                selectContactFromDevice();
                dialog.dismiss();
            }
        });


        Button button1 = (Button) dialog.findViewById(R.id.manual);
        button1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                showManualDialog();

            }
        });
答案2是您正在viewCreation中调用getText。您需要等待用户输入文本,然后点击按钮。在onClick中移动getText,如下所示:

    Button button1 = (Button) dialog.findViewById(R.id.button1);
    button1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            //This line needs to go inside.
            String manual_number=manual_edittext.getText().toString();

            addtolist(manual_number);

            dialog.dismiss();
        }

第一个对话框打开方法是showCustomDialog!我在其中添加了dialog.discover。