首页 文章

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

提问于
浏览
0

在我的应用程序中,当用户单击按钮时,它会弹出一个对话框 . 然后单击对话框中的“提交”按钮,将打开另一个对话框 . 我在这种情况下面临的问题是,在单击第一个对话框的按钮时,它显示第二个对话框,但它没有关闭第一个对话框,第二个问题是第二个对话框有一个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 回答

  • 0

    答案#1非常简单:您在第一次点击时只有dialog.dismiss(),但不是第二次 .

    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();
            }
    

相关问题