0

以下是我为 2 个对话框创建的代码:即日期选择器和提交 2 个按钮时的自定义对话框,即 btnselDate 和 btnAlertDialog。

日期选择器对话框工作正常,但自定义对话框存在一些问题。我的自定义对话框显示用户的登录表单。

请检查它并提出适当的建议。

代码如下:

 public void onClick(View view)
    {
        if(view.getId() == R.id.btnselDate)
        {
            // Date Picket DialogBox

            showDialog(1);
        }
        else if(view.getId()==R.id.btnAlertDialog)
        {
            // Alert Dialog Box

            Context mContext = getApplicationContext();
            Dialog dialog = new Dialog(mContext);

            dialog.setContentView(R.layout.custom_activity);
            dialog.setTitle("Custom Dialog");

            TextView text = (TextView) dialog.findViewById(R.id.tvPwd);
            text.setText("Enter the Password");

            final EditText pwd=(EditText) dialog.findViewById(R.id.etPwd);

            Button btnlogin=(Button) dialog.findViewById(R.id.btnOK);

            btnlogin.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    //Login Button

                    if(pwd.getText().toString().equals("abc"))
                    {
                        Intent intent=new Intent(MainActivity.this,WelcomeUser.class);
                        startActivity(intent);
                    }
                    else
                    {
                        Toast.makeText(MainActivity.this, "Wrong Password, Try Again", Toast.LENGTH_SHORT).show();
                    }

                }
            });
        }
        else
        {
            Toast.makeText(MainActivity.this, "No Dialog Selected yet", Toast.LENGTH_SHORT).show();
        }
    }
4

1 回答 1

0

而不是这个

  dialog.setContentView(R.layout.custom_activity);

对于对话框的自定义布局,您必须充气布局检查代码here

    LayoutInflater factory = LayoutInflater.from(this);
    final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null);
    return new AlertDialog.Builder(AlertDialogSamples.this)
        .setIcon(R.drawable.alert_dialog_icon)
        .setTitle(R.string.alert_dialog_text_entry)
        .setView(textEntryView)
        .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {

                /* User clicked OK so do some stuff */
            }
        })
        .setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {

                /* User clicked cancel so do some stuff */
            }
        })
        .create();
于 2012-08-23T09:14:09.293 回答