Android数字警报弹出窗口需要数字键盘

时间:2011-01-14 20:23:20

标签: android alert

我已经尝试了多个建议并且没有任何效果:(我正在尝试在显示此警告对话框时显示数字小键盘。是否只有一些命令让键盘显示?

void GetQuantity()

 {
  AlertDialog.Builder alert = new AlertDialog.Builder(this);
  alert.setTitle("Quantity");
  alert.setMessage("Enter Quantity");

  final EditText input = new EditText(this);

  alert.setView(input);
  input.setText("1");

  input.setInputType(DEFAULT_KEYS_DIALER |TYPE_NUMBER_FLAG_DECIMAL );

  input.setFilters(new InputFilter[] {
    // Maximum 5 characters.
    new InputFilter.LengthFilter(5),
  });

  alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {

   @Override
   public void onClick(DialogInterface dialog, int which) {
    Quantity =Double.parseDouble( input.getText().toString());
    btnQuan.setText(input.getText().toString());

   }
  });


  alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int whichButton) {
    // do nothing
   }
  });
  alert.show();

 }

3 个答案:

答案 0 :(得分:4)

其他人用这个问题回答了我的问题,但它确实有效,但随后他们的消息消失了?! 无论如何这里是答案:

input.setInputType(InputType.TYPE_CLASS_NUMBER);

答案 1 :(得分:2)

以下是完整的答案:

此代码是您所需要的。只需将其插入需要启动警报对话框的任何位置即可。 我还没弄清楚如何自动启动键盘,但这并不困难。

AlertDialog.Builder alert = new AlertDialog.Builder(this);
                alert.setTitle(multiLangTranslation(R.string.manualshippermessage));
                final EditText input = new EditText(this);
                input.setInputType(InputType.TYPE_CLASS_NUMBER);
                input.setRawInputType(Configuration.KEYBOARD_12KEY);
                alert.setView(input);  
                alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                  //Put actions for OK button here
                  }
                });
                alert.setNegativeButton(multiLangTranslation(R.string.cancel), new DialogInterface.OnClickListener() {
                  public void onClick(DialogInterface dialog, int whichButton) {
                      //Put actions for CANCEL button here, or leave in blank
                  }
                });
                alert.show();

答案 2 :(得分:0)

如上所述,使用命令:

input.setInputType(InputType.TYPE_CLASS_NUMBER);

将此命令放在我的代码中的哪个位置?当我按下输入按钮时,我希望弹出一个弹出窗口。