2011-11-03 37 views
0

當前正在做一些android開發,並試圖找出是否有任何改變alertbox中的輸入類型?Android:更改警報對話框輸入類型

此刻,我猜它只是一個標準的文本輸入框,但我想將其更改爲數字輸入框,以便軟鍵盤更改爲顯示數字鍵盤。類似於android:inputType="phone"在xml版面中的工作方式。

回答

2

您可以在使用setViewAlertDialog類添加您喜歡的任何視圖。然後,您可以將setInputType更改爲僅允許數字。

final EditText input = new EditText(this); 
input.setInputType(InputType.TYPE_CLASS_NUMBER); 

AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 
alertDialog.setIcon(android.R.drawable.ic_menu_help); 
alertDialog.setTitle("Title"); 
alertDialog.setMessage("Message"); 
alertDialog.setView(input); 
alertDialog.setButton("OK", new OnClickListener() { 

    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     // Value of EditText 
     String value = input.getText().toString().trim(); 
    } 
}); 

alertDialog.show(); 
0

創建一個對話框來代替,那麼你就可以玩的東西,所有你喜歡:)

基礎知識:

Dialog dialog = new Dialog(this); 
    dialog.setContentView(R.id.your_layout); 
    EditText button = (EditText)dialog.findViewById(R.id.your_editText); 
    dialog.show(); 

希望這有助於;)

0

更簡單的解決方案,無需自定義佈局。

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
EditText dialogEditText = new EditText(this); 
dialogEditText.setInputType(InputType.TYPE_NUMBER_VARIATION_PASSWORD); 
alertDialogBuilder.setTitle("Your title"); 
alertDialogBuilder.setMessage("Your message"); 
alertDialogBuilder.setView(edittext); 
alertDialogBuilder.show();