2013-10-15 106 views
-1

我想在我的應用程序中添加對話框,讓用戶把他/她的願望IP地址。如何使用輸入對話框

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 

     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Please put Ip address") 
      ------> here the user can type on the dialog in String 
      .setNeutralButton("Add", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        printer = new PrinterObject("134.188.204.155");--->the result text from dialog 


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

任何人都知道如何添加它?

回答

1

嘗試......

AlertDialog.Builder builder = new Builder(this); 
     builder.setTitle("Please put Ip address"); 
     builder.setMessage(""); 
     LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View view = inflater.inflate(R.layout.alert, null); 
     final EditText ipfield = (EditText) view.findViewById(R.id.ipfield); 

     builder.setView(view); 
     builder.setPositiveButton("Ok", 
       new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(DialogInterface dialog, int arg1) { 
         // do what you need 
        } 
       }); 

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

        @Override 
        public void onClick(DialogInterface dialog, int arg1) { 
         dialog.dismiss(); 
        } 
       }); 
     AlertDialog dialog = builder.create(); 
     dialog.show(); 
+0

你好,謝謝你的幫助。我想知道禁用對話框,因爲當我從風景改變爲potrait時,它總是創建對話框。你知道有什麼想法嗎? – eng

+0

如果不需要支持兩種方向,則可以在清單中將屏幕方向設置爲potrait。 – ayon

+0

我已經設置了方向,但仍嘗試創建對話框並重置界面內的所有值。是因爲我做了大部分在onCreate中顯示的代碼?所以,當我改變位置時,它總是被重置? – eng

0

您可以使用此代碼片段:

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

alert.setTitle("Please put Ip address"); 

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

alert.setPositiveButton("Add", 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();