입력

2014-06-17 2 views
1
안녕하세요 내가 여기에 안드로이드 경고 대화 상자에서 뭔가를 반환 할

안드로이드에서 값을 반환 없음 대화하면 코드입력

AlertDialog.Builder builder = new AlertDialog.Builder(c); 
    builder.setTitle("User's Input"); 
    builder.setMessage(msg); 
    final EditText input = new EditText(c); 
    input.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); 
    builder.setView(input); 
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      text=input.getText().toString(); 
     } 
    }); 
    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      //dialog.cancel(); 
      c.finish(); 
     } 
    }); 

    builder.setCancelable(false); 
    builder.show(); 
    return text; 

하지만 나는이 같은이 메서드를 호출 할 때 ..

String email=MyMethods.showTextDialog(this,"Enter Recovery Email:"); 
    if(email=="") 
     this.finish(); 

을 대화 상자에서 버튼을 누르기 전에 if() 문이 실행됩니다 ... 대화 상자 버튼을 클릭 한 후 코드를 실행하려고합니다.

+0

언제 대화 상자를 표시 하시겠습니까 ... String email = MyMethods.showTextDialog ("Enter 복구 메일 :"); 대화를 호출하는 올바른 방법이 아닙니다. –

+0

http://www.mkyong.com/android/android-prompt-user-input-dialog-example/ –

답변

0
Create a method like this : 

public Dialog showDialog(String title, String msg, final Activity activity) { 

     final AlertDialog alertDialog = new AlertDialog.Builder(activity) 
       .create(); 
     alertDialog.setTitle(title); 
     alertDialog.setMessage(msg); 
     alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       alertDialog.dismiss(); 

        activity.finish(); 

      } 
     }); 
     alertDialog.show(); 

     return alertDialog; 

    } 
0

당신이 ...

대화의 onClick 이벤트에 코드를 넣어 ...

AlertDialog.Builder builder = new AlertDialog.Builder(c); 
    builder.setTitle("User's Input"); 
    builder.setMessage(msg); 
    final EditText input = new EditText(c); 
    input.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); 
    builder.setView(input); 
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      text=input.getText().toString(); 

      // put your code here     
      if(text.equals("")) 
        this.finish(); 
     } 
    }); 
    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      //dialog.cancel(); 
      c.finish(); 
     } 
    }); 

    builder.setCancelable(false); 
    builder.show(); 
0

을 다음 ... 대화 상자 버튼을 클릭 한 후 코드를 실행 아래와 같이 시도 할 경우 대화 상자를 호출 할 수 있습니다 버튼을 클릭하거나 편집 텍스트의 클릭에 evrn 다음이

button.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 


       LayoutInflater li = LayoutInflater.from(context); 
       View dialog= li.inflate(R.layout.dialog_view, null); 

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


       alertDialogBuilder.setView(dialog); 

       final EditText value= (EditText) dialog 
         .findViewById(R.id.value); 


       alertDialogBuilder 
        .setCancelable(false) 
        .setPositiveButton("OK", 
         new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog,int id) { 


         edittext.setText(value.getText()); 
         } 
         }) 
        .setNegativeButton("Cancel", 
         new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog,int id) { 
         dialog.cancel(); 
         } 
         }); 


       AlertDialog alertDialog = alertDialogBuilder.create(); 


       alertDialog.show(); 

      } 
     }); 
0
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(); 

소스 같은 대화 보여 http://www.androidsnippets.com/prompt-user-input-with-an-alertdialog