Установить EditText для числовой записи в коде? - PullRequest
1 голос
/ 04 мая 2011

Хорошо, У меня есть приложение, которое создает AlertDialog для входных значений. Все значения имеют числовой тип, и я использую следующий код для получения ввода.

public class DialogWithInputBox extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    final AlertDialog.Builder alert = new AlertDialog.Builder(this);
    final EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_NUMBER);
    alert.setView(input);
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() 
    {
        public void onClick(DialogInterface dialog, int whichButton)
        {
            String value = input.getText().toString().trim();
            Toast.makeText(getApplicationContext(), value,
                    Toast.LENGTH_SHORT).show();
        }
    });

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

}
}

Моя проблема в том, что это не работает для Android 1.6, но я хочу, чтобы мое приложение работало на 1.6. Есть ли другой способ сделать это в коде, который будет работать с 1.6? У меня нет макета для AlertDialog, поэтому я не могу установить его там.

Ответы [ 2 ]

2 голосов
/ 05 мая 2011

Я слышал о некоторых странных вещах, происходящих с InputTypes в отношении чисел. Попробуйте посмотреть, будет ли работать тип телефона:

input.setInputType(InputType.TYPE_CLASS_PHONE);
1 голос
/ 04 мая 2011

Вероятно, вы могли бы достичь своей цели с помощью метода setInputFilters (InputFilter []) и передать DigitsKeyListener.

http://developer.android.com/reference/android/widget/TextView.html#setFilters(android.text.InputFilter[])

http://developer.android.com/reference/android/text/method/DigitsKeyListener.html

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