I want my EditText content type to be a number. I set InputType, which is 2 according to reference . But it’s still possible to enter any character.
final EditText input = new EditText(this); input.setRawInputType(InputType.TYPE_CLASS_NUMBER);
What am I doing wrong here?
I cannot use XML, but I have an EditTextPreference with android:inputType="number" and it works correctly.
EDIT:
Here is another code:
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;
source share