我希望我的EditText內容類型爲數字。我設置輸入類型這是根據reference。但是仍然可以輸入任何字符。如何正確設置EditText的InputType?
final EditText input = new EditText(this);
input.setRawInputType(InputType.TYPE_CLASS_NUMBER);
我在這裏做錯了什麼?
我不能使用XML,但我有EditTextPreference android:inputType="number"
,它工作正常。
編輯:
下面是一些代碼:
case R.id.set_counter:
AlertDialog.Builder setCounterDialog = new AlertDialog.Builder(this);
setCounterDialog.setTitle("Set counter value");
final EditText input = new EditText(this);
input.setRawInputType(InputType.TYPE_CLASS_NUMBER);
InputFilter[] filter = new InputFilter[1];
filter[0] = new InputFilter.LengthFilter(4);
input.setFilters(filter);
setCounterDialog.setView(input);
setCounterDialog.setPositiveButton("Ok", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String inputText = input.getText().toString();
counter = Integer.parseInt(inputText);
counterLabel = (TextView) findViewById(R.id.counter);
counterLabel.setText(inputText);
}
});
setCounterDialog.setNegativeButton("Cancel", null);
setCounterDialog.show();
return true;
是的,它的工作原理。謝謝。 – Roman