0

リスト ビュー アクティビティ レイアウトの上にユーザー入力用のカスタム ダイアログを表示しています。しかし、onCreateDialog() メソッドで編集テキストを参照しようとすると、常に空白になります。以下は私のコードです。誰かが私が間違っている場所を指摘していただければ幸いです-

public class QuestionDialog extends DialogFragment
{

     public Dialog onCreateDialog(Bundle savedInstanceState) 
     {

            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
          // Get the layout inflater
            LayoutInflater inflater = getActivity().getLayoutInflater();
         // Inflate and set the layout for the dialog
            final View v =inflater.inflate(R.layout.ques_dialog,null);
            builder.setView(inflater.inflate(R.layout.ques_dialog, null))

            .setTitle("Title Message!")  
            .setCancelable(true)
            .setPositiveButton("GO", new DialogInterface.OnClickListener(){
                       public void onClick(DialogInterface dialog, int whichButton)
                        {

                          EditText et1 = (EditText)v.findViewById(R.id.et1);

                      // here not able to get the data from edit text 

                          String s1 = et1.getText().toString().trim();
                          Log.d("debug","data -"+s1+" and length"+s1.length());

                        .... rest code goes here 

                       })
                     .setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
                       public void onClick(DialogInterface dialog, int whichButton)
                        {

                            ..rest code goes here

                         }

                       });              

        return builder.create();

     }


}
4

1 に答える 1

0

これは、次の行が原因で発生しています。

final View v =inflater.inflate(R.layout.ques_dialog,null);
builder.setView(inflater.inflate(R.layout.ques_dialog, null))

最初にv Viewを膨張させてから、ダイアログのコンテンツとして新たに膨張したビューを設定します(したがって、最終的には、ダイアログの実際のコンテンツではないビューを探すことになります)。これを使って:

final View v =inflater.inflate(R.layout.ques_dialog,null);
builder.setView(v);
于 2013-02-13T19:22:33.147 に答える