0

以下は、2 つのダイアログ ボックス用に作成したコードです。つまり、btnselDate と btnAlertDialog という 2 つのボタンを送信する際の日付ピッカーとカスタム ダイアログ ボックスです。

日付ピッカー ダイアログは正常に動作していますが、カスタム ダイアログ ボックスに問題があります。私のカスタム ダイアログ ボックスには、ユーザーのログイン フォームが表示されます。

よろしければ内容をご確認いただき、適切なご提案をお願いいたします。

コードは次のとおりです。

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

ダイアログのカスタムレイアウトの場合、レイアウトを膨らませる必要があります ここでコードを確認してください

    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 に答える