2016-09-21 15 views
-1

フォームのダイアログボックスがあり、ユーザーはデータを入力してデータを取得したいのですが、私は何も得ていません。私はこのフォームをダイアログボックスに持っていますが、入力ボックスの値を取得できません。

public Dialog onCreateDialog (Bundle savedInstanceState) 
    { 

     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
     LayoutInflater inflater = getActivity().getLayoutInflater(); 

     final View view = inflater.inflate(R.layout.incident_form,null); 


     builder.setView(inflater.inflate(R.layout.incident_form,null) 
       .setPositiveButton("Submit", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int id) 
        { 
         title = (EditText) view.findViewById(R.id.report_title); 
         recom = (EditText) view.findViewById(R.id.report_recommendation); 
         content = (EditText) view.findViewById(R.id.report_content); 

         titleString = title.getText().toString(); 
         recomString = recom.getText().toString(); 
         contentString = content.getText().toString(); 

         submitForm(titleString,recomString,contentString); 
         dialog.cancel(); 
        } 
       }) 
       .setNegativeButton("Cancel", new DialogInterface.OnClickListener() 
       { 
        public void onClick(DialogInterface dialog, int id) { 
         dialog.cancel(); 
        } 
       }); 
     return builder.create(); 
    } 
+0

カスタムレイアウトを使用している場合は、setNegativeButtonおよびsetPositivetiveButtonを削除します。 –

+1

なぜレイアウトを2回組み込むのですか? –

+0

@PreetikaKaurそれを指摘してくれてありがとう、私はそれに気付かなかった。 – lagfvu

答えて

1

あなたがチェックしてくださいダイアログで二回レイアウトが含まれています。 どちらかsetviewコマンド(ビュー)あなたはすでにこの

final View view = inflater.inflate(R.layout.incident_form,null); 

またはあなたが

の下に行っているようにあなたに setviewコマンド()メソッドを、それをintializeのように上に初期化されているビューので、使用する必要があります

setviewコマンド(inflater.inflate(R.layout.incident_form、NULL)

。これが2回追加されているため、これが起こっています。あなたを助けるために喜ん

...

0

あなたは、このようにコードを変更する必要があります

public Dialog onCreateDialog (Bundle savedInstanceState) 
    { 

     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
     LayoutInflater inflater = getActivity().getLayoutInflater(); 

     final View view = inflater.inflate(R.layout.incident_form,null); 
         title = (EditText) view.findViewById(R.id.report_title); 
         recom = (EditText) view.findViewById(R.id.report_recommendation); 
         content = (EditText) view.findViewById(R.id.report_content); 


     builder.setView(inflater.inflate(R.layout.incident_form,null) 
       .setPositiveButton("Submit", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int id) 
        { 

         titleString = title.getText().toString(); 
         recomString = recom.getText().toString(); 
         contentString = content.getText().toString(); 

         submitForm(titleString,recomString,contentString); 
         dialog.cancel(); 
        } 
       }) 
       .setNegativeButton("Cancel", new DialogInterface.OnClickListener() 
       { 
        public void onClick(DialogInterface dialog, int id) { 
         dialog.cancel(); 
        } 
       }); 
     return builder.create(); 
    } 
0

は、インスタンス化し、あなたのこのようなEditText

EditText storyNameTxt = (EditText) getDialog().findViewById(R.id.dialog_add_story_name); 

getDialog

は私のためにのためにトリックを行います。

関連する問題