Android:更改警报对话框输入类型

时间:2011-11-03 10:51:33

标签: android android-layout

目前正在做一些Android开发,并试图找出是否有改变警报框中的输入类型?

目前我猜它只是一个标准的文本输入框,但我想将其更改为数字输入框,以便软键盘更改为显示数字键盘。类似于android:inputType="phone"在xml布局方面的工作方式。

3 个答案:

答案 0 :(得分:2)

您可以在setView课程中使用AlertDialog添加您喜欢的任何视图。然后,您只需将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();

答案 1 :(得分:0)

改为创建一个Dialog,然后你就可以随心所欲地使用它了。)

基础知识:

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

希望这会有所帮助;)

答案 2 :(得分: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();