2011-11-03 41 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();