0

ユーザーが保存ボタンを押すと、アラート ダイアログにユーザーが入力した editTexts (プレーヤーのスコア) をアクティビティに戻してさらに処理できるようにするアラート ダイアログを設計しました。

これはどのように作ることができますか?サンプルはありますか?どうもありがとう!!

私は以下を実行しましたが、出力は現在入力されているものを認識できず、ユーザーに空白以外の editText を入力するように求めています (下部の else ルートを通過します):

public OnClickListener NewRowButtonListener = new OnClickListener()  
   {  
      @Override  
      public void onClick(View v)   
      {       
           AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);  

           dialog.setTitle("Add Scores"); //set title  
           View view = getLayoutInflater().inflate(R.layout.custom_dialog_add, null);  
           dialog.setView(view); 
           dialog.create();             
           final AlertDialog test = dialog.create();            
           SlotAlert_add_EditText = (EditText) view.findViewById(R.id.Slot_Alert_add_EditText); 
           P1Alert_add_ScoreEditText = (EditText) view.findViewById(R.id.P1_Alert_add_ScoreEditText); 
           P2Alert_add_ScoreEditText = (EditText) view.findViewById(R.id.P2_Alert_add_ScoreEditText); 
           P3Alert_add_ScoreEditText = (EditText) view.findViewById(R.id.P3_Alert_add_ScoreEditText); 
           P4Alert_add_ScoreEditText = (EditText) view.findViewById(R.id.P4_Alert_add_ScoreEditText);           

           Button alert_add_save = (Button) view.findViewById(R.id.Alert_add_SaveButton);  //find the Button object within the inflated view                                    
           alert_add_save.setOnClickListener(addButtonListener);        //set the onClickListener    
           test.show();     //show the dialog  
      } 
   }; 

その後

public OnClickListener addButtonListener = new OnClickListener() 
   // create a new Button and add it to the ScrollView    
   { 
      private String SlotAppend0EditText; 
      @Override 
      public void onClick(View v)  
      {            
            SlotEditText.setText(""+SlotAlert_add_EditText); //try to set EditText in MainActivity using the one in the alert dialog above 
            P1ScoreEditText.setText(""+P1Alert_add_ScoreEditText);  
            P2ScoreEditText.setText(""+P2Alert_add_ScoreEditText); 
            P3ScoreEditText.setText(""+P3Alert_add_ScoreEditText);  
            P4ScoreEditText.setText(""+P4Alert_add_ScoreEditText); 

         if (SlotEditText.getText().length() <4 && 
             SlotEditText.getText().length() > 0 && 
             P1ScoreEditText.getText().length() > 0 &&  
             P2ScoreEditText.getText().length() > 0 && 
             P3ScoreEditText.getText().length() > 0 &&  
             P4ScoreEditText.getText().length() > 0 )             
         { 
            SaveScoresToFile(SlotAppend0EditText, 
                    P1ScoreEditText.getText().toString(),  
                    P2ScoreEditText.getText().toString(),  
                    P3ScoreEditText.getText().toString(),  
                    P4ScoreEditText.getText().toString()); 
                         } // end if 
         else  (another alert message saying please enter valid input) //NOW THE RESULT IS SHOWING THIS! 
4

1 に答える 1

0

これを見る

 Button b = (Button) findViewById(R.id.LeftMenu);
    b.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
             CreateAlertDialog ();
        }
    });

アラート ダイアログ

 private void CreateAlertDialog () {         

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

    alert.setTitle("Title");
    alert.setMessage("Message");

    // Set an EditText view to get user input 
    final EditText input = new EditText(getActivity());
    alert.setView(input);

    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {

        }
    });

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

        }
    });
    alert.show();       
}
于 2012-10-02T09:55:26.293 に答える