Всплывающее окно с цифровым предупреждением Android требует цифровой клавиатуры

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

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();

 }

person Mark Worsnop    schedule 14.01.2011    source источник
comment
что ты пробовал? Я искал и нашел несколько вещей, но ничего «простого». это было лучшее, что я мог найти stackoverflow.com/questions/1509719/.   -  person techiServices    schedule 15.01.2011


Ответы (3)


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

input.setInputType(InputType.TYPE_CLASS_NUMBER);
person Mark Worsnop    schedule 14.01.2011
comment
Это был я, но после повторного прочтения OP я подумал, что вы хотите, чтобы клавиатура выскакивала автоматически одновременно с появлением диалогового окна. В текущей ситуации вам нужно нажать на текст редактирования, чтобы появилась клавиатура (а это цифровая клавиатура) - person ccheneson; 15.01.2011

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

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

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();
person Josh    schedule 19.06.2014

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

input.setInputType(InputType.TYPE_CLASS_NUMBER);

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

person Pythonoid    schedule 23.02.2015