我使用单选按钮显示具有数字输入的editText。我希望显示数字键盘,并尝试从网上获得一些想法,但没有成功。
EditText e = (EditText) findViewById(R.id.input1);
case R.id.radio_down:
if (checked) {
e.setVisibility(View.VISIBLE);
e.selectAll();
/* InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
*/
e.setInputType(InputType.TYPE_CLASS_NUMBER);
e.setFocusableInTouchMode(true);
e.requestFocus();
}
答案 0 :(得分:1)
editText1 = (EditText) findViewById(R.id.editText1);
radioGender = (RadioGroup) findViewById(R.id.radioGender);
radioGender
.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton rb = (RadioButton) group
.findViewById(checkedId);
if (checkedId == R.id.radioNumber) {
Toast.makeText(MainActivity.this, rb.getText(),
Toast.LENGTH_SHORT).show();
editText1.setKeyListener(DigitsKeyListener
.getInstance("0123456789."));
}
}
});
}
MAINACTIVITY.XML
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="39dp"
android:ems="10"
android:inputType="text"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" >
<requestFocus />
</EditText>
答案 1 :(得分:1)
无需编写任何java代码,只需像这样定义EditText
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="39dp"
android:ems="10"
android:inputType="number">
<requestFocus />
</EditText>
答案 2 :(得分:0)
在xml文件中使用以下代码。
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Type number"
android:inputType="number" />