只需要数字键盘,但也可以使用字母键盘

时间:2013-04-13 15:25:20

标签: android android-edittext

我想只为我的下列代码显示带有“完成”键的数字小键盘,以便我可以输入正常的整数或十进制数。但相反,我得到一个带有“下一步”键的数字小键盘。当按下“下一步”键时,它会移动到我不想要的字母键盘。我希望它在插入值并按下Next或Done键后直接移动到活动屏幕。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" 
android:background="@drawable/black">

<RelativeLayout
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:paddingLeft="30dp"
    android:paddingRight="30dp"
    android:paddingTop="100dp">

    <LinearLayout
        android:id="@+id/layout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/editText1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:hint="@string/select_from"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:inputType="number|numberSigned|numberDecimal" 
            android:layout_weight="1">  
        </EditText>

        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:entries="@array/angle_List"
            android:gravity="center"
            android:layout_weight="1" >
        </Spinner>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/layout1"
        android:layout_marginTop="50dp">
        <TextView
            android:id="@+id/textView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:hint="@string/select_to"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/white"
            android:textIsSelectable="true"
            android:layout_weight="1" >
        </TextView>

        <Spinner
            android:id="@+id/spinner2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:entries="@array/angle_List"
            android:gravity="center"
            android:layout_weight="1">
        </Spinner>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layout3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/layout2"
        android:layout_marginTop="60dp">
        <Button
            android:text="@string/convert" 
            android:id="@+id/button1" 
            android:layout_height="fill_parent" 
            android:layout_width="fill_parent" 
            android:layout_weight="1"
            android:onClick="Convert">
        </Button>

        <Button
            android:id="@+id/button2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:onClick="clearVal"
            android:text="@string/clear">
        </Button>   
    </LinearLayout>

</RelativeLayout>
</ScrollView>

提前致谢

UPDATE -

我通过使用

解决了我的问题
android:imeOptions="actionDone"

在我的标签

1 个答案:

答案 0 :(得分:0)

试试这个:

EditText edit = (EditText)findViewById(R.id.editText1);
edit.setOnFocusChangeListener(new OnFocusChangeListener() {

    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        ((EditText)v).setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED | InputType.TYPE_NUMBER_FLAG_DECIMAL);
        }
    });