2013-12-12 2 views
1

두 개의 버튼이있는 Android 앱이 있습니다. 기본적으로 사용자가 페이지에서 '공유 버튼'을 클릭하면 사용자에게 이메일 주소를 입력하라는 경고 대화 상자가 나타납니다. 여기까지 내가 지금까지 가지고있는 것이있다. EditView를 시도했지만 잘 작동하지 않습니다.Android 앱의 알림 대화 상자에서 사용자 입력을 어떻게 코딩합니까?

미리 감사드립니다. 당신은 이런 일을 할 수

+0

benbkoch의 답변은 올바른 줄에 있습니다. 커스텀 다이얼로그가 필요하다면, 레이아웃을 'Activity'와 비슷한 방식으로 뷰로 설정해야합니다. 여기에서 문서를보세요 ... https://developer.android.com/guide/topics/ui/dialogs.html#CustomLayout – Squonk

답변

1

이것은 사용자에게 도움이 될 수 있습니다.

     shareButton.setOnClickListener(new OnClickListener() { 
          public void onClick(View v) { 


           AlertDialog.Builder al1 = new Builder(
             AgriListView.this); 
           al1.setMessage("Share Something"); 

           al1.setPositiveButton("Share", 
             new DialogInterface.OnClickListener() { 

              public void onClick(
                DialogInterface dialog, 
                int which) { 

               final EditText input = new EditText(
                 AgriListView.this); 
               input.setSingleLine(); 

               AlertDialog.Builder al = new Builder(
                 AgriListView.this); 
               al.setTitle("Enter New Value"); 
               al.setView(input); 
               al.setCancelable(true); 
               al.setIcon(R.drawable.bt); 
               al.setPositiveButton(
                 "OK", 
                 new DialogInterface.OnClickListener() { 

                  public void onClick(
                    DialogInterface dialog, 
                    int which) { 

                   int len = input 
                     .length(); 

                   if (!(len == 0)) { 

                    Toast.makeText(
                      AgriListView.this, 
                      "Entered text is: "+input.getText() 
                       , 
                      Toast.LENGTH_SHORT) 
                      .show(); 

                   } else { 

                    Toast.makeText(
                      getApplicationContext(), 
                      "Enter Value Properly", 
                      Toast.LENGTH_LONG) 
                      .show(); 
                   } 
                  } 

                 }); 

               al.setNegativeButton(
                 "Cancel", 
                 new DialogInterface.OnClickListener() { 

                  public void onClick(
                    DialogInterface dialog, 
                    int which) { 
                   dialog.cancel(); 
                  } 
                 }); 

               AlertDialog alert = al.create(); 
               alert.show(); 
              } 
             }); 

           al1.setNegativeButton("Cancel", 
             new DialogInterface.OnClickListener() { 

              public void onClick(
                DialogInterface dialog, 
                int which) { 
               dialog.cancel(); 

              } 
             }); 

           AlertDialog alert1 = al1.create(); 
           alert1.show(); 
          } 

         }); 

이 코드는 Edittext 값으로 대화 상자를 만듭니다.

0

package com.colors; 

import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.Context; 
import android.content.DialogInterface; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class MainActivity extends Activity { 

    final Context context = this; 
    private Button button; 
    private Button shareButton; 

    public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    button = (Button) findViewById(R.id.button); 
    shareButton = (Button) findViewById(R.id.shareButton); 

    // add button listener for Welcome Message. 
    button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

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

      // set the title of the Alert Dialog 
      alertDialogBuilder.setTitle("Welcome!"); 

      // set dialog message 
      alertDialogBuilder 
        .setMessage("Program Description here...") 
        .setCancelable(false) 
        .setNegativeButton("OK", 
          new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog, 
             int id) { 
            // if no is clicked, just close 
            // the dialog box and do nothing 
            dialog.cancel(); 
           } 
          }); 

      AlertDialog alertDialog = alertDialogBuilder.create(); 

      alertDialog.show(); 
     } 
    }); 





    // Button listener for Share Button 
      shareButton.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View arg0) { 

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

        // set the title of the Alert Dialog 
        alertDialogBuilder.setTitle("Share"); 

        // set dialog message 
        alertDialogBuilder 
          .setMessage("Would like to a user input here.") 
          .setCancelable(false) 
          .setPositiveButton("Send!", 
            new DialogInterface.OnClickListener() { 
             public void onClick(DialogInterface dialog, 
               int id) { 
              // if no is clicked, just close 
              // the dialog box and do nothing 
              dialog.cancel(); 
             } 
            }) 
          .setNegativeButton("Cancel", 
            new DialogInterface.OnClickListener() { 
             public void onClick(DialogInterface dialog, 
               int id) { 
              // if no is clicked, just close 
              // the dialog box and do nothing 
              dialog.cancel(); 
             } 
            }); 

        AlertDialog alertDialog = alertDialogBuilder.create(); 

        alertDialog.show(); 
       } 
      }); 

} 

}.

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

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

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

alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
     String value = input.getText(); 
     // Do something with value! 
    } 
}); 

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

alert.show();