2017-05-18 15 views
0

xmlレイアウトの警告ダイアログがあり、編集テキストがあります。テキストを入力してSAVEを押すと、 のeditText to Stringがnullを返します。ここに私のコードです -警告ダイアログ編集テキストは値を返しません

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity()); 

     LayoutInflater inflater = getActivity().getLayoutInflater(); 
     dialogView = inflater.inflate(R.layout.dialog_layout, null); 
     alertDialogBuilder.setView(dialogView); 

     alertDialogBuilder.setView(R.layout.dialog_layout); 

     // set dialog message 
     alertDialogBuilder 
       .setCancelable(false) 
       .setPositiveButton("SAVE", 
         new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
           EditText userInput = (EditText) dialogView.findViewById(R.id.editText); 
           dbUtils.insertCSVFileName(userInput.getText().toString()); 
           Log.d("hi","vaqlue of edittext" + userInput.getText().toString()); //gives me null 

          } 
         }) 

私の編集テキストはdialog_layout.xmlにあります。なぜこのヌルですか?

+0

'alertDialogBu​​ilder.setView(dialogView);'& 'alertDialogBu​​ilder.setView(R.layout.dialog_layout);'。 ...両方のうちの1つだけをお待ちください... – Opiatefuchs

+0

なぜ 'alertDialogBu​​ilder.setView(R.layout.dialog_layout);' ?? –

+0

トリムを使用してみてください。 userInput.getText()。toString()。trim(); –

答えて

0

あなたの問題は、あなたが二回レイアウトを設定することです:

alertDialogBuilder.setView(dialogView); 
alertDialogBuilder.setView(R.layout.dialog_layout); 

一つだけを削除し、上記のいずれかの方法でそれを行います。

0
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity()); 

    LayoutInflater inflater = getActivity().getLayoutInflater(); 
    dialogView = inflater.inflate(R.layout.dialog_layout, null); 
    alertDialogBuilder.setView(dialogView); 

    // set dialog message 
    alertDialogBuilder 
      .setCancelable(false) 
      .setPositiveButton("SAVE", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          EditText userInput = (EditText) dialogView.findViewById(R.id.editText); 
          dbUtils.insertCSVFileName(userInput.getText().toString()); 
          Log.d("hi","vaqlue of edittext" + userInput.getText().toString()); //gives me null 

         } 
        }) 

利用両者の唯一の1つの方法は、両方を使用しています

alertDialogBuilder.setView(dialogView);  //good practice 
alertDialogBuilder.setView(R.layout.dialog_layout); 
関連する問題