Для всплывающих окон с цифровым оповещением Android требуется цифровая клавиатура - PullRequest
2 голосов
/ 14 января 2011

Я перепробовал несколько предложений, но ничего не работает :( Я пытаюсь сделать так, чтобы цифровая клавиатура отображалась, когда отображается это диалоговое окно с предупреждением. Есть ли какая-то команда, чтобы клавиатура все равно появлялась?

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 ]

4 голосов
/ 15 января 2011

Кто-то еще ответил на мой вопрос с этим, и это работает, но затем их сообщение ушло ?! В любом случае вот ответ:

input.setInputType(InputType.TYPE_CLASS_NUMBER);
2 голосов
/ 19 июня 2014

Вот полный ответ:

Этот код - то, что вам нужно.Просто вставьте его туда, где вам нужно, чтобы запустить диалоговое окно оповещения.Я не понял, как автоматически запустить клавиатуру, но это не должно быть трудным.

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();
0 голосов
/ 23 февраля 2015

Как предложено выше, используйте команду:

input.setInputType(InputType.TYPE_CLASS_NUMBER);

где поместить эту команду в мой код? Я ищу всплывающее окно, когда я нажимаю кнопку «Получить ввод».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...