在android中显示数字小键盘

时间:2015-04-18 04:51:23

标签: android

我使用单选按钮显示具有数字输入的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();
        }

3 个答案:

答案 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" />