Android - 编辑文本...键盘输入不被接受

时间:2012-03-23 07:09:17

标签: android android-edittext

在我的应用程序中,在一个活动中我有4个编辑文本字段和一个按钮。仅在输入所有4个编辑文本字段的数据后,将提交数据。如果一个是空的,我显示一个警告对话框,说明我的自定义错误消息。现在在活动中,如果我点击编辑文本并按键盘上的任意键,则不会将文本添加到编辑文本中。

如果您遇到类似问题,请告诉我。输入代码

<EditText
        android:id="@+id/first_field"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/TextView01"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="6dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&apos;."
        android:gravity="left|center"
        android:hint="First Name"
        android:imeOptions="actionNext"
        android:inputType="text"
        android:textSize="11sp"
        android:typeface="sans" >
    </EditText>

在.java文件中

first_field = (EditText)findViewById(R.id.first_field);

        InputFilter[] filter = new InputFilter[1];
        filter[0] = new InputFilter.LengthFilter(24);
        first_field.setFilters(filter);

按钮的Onclick事件

 NumberKeyListener keyListener1 = new NumberKeyListener() {

                public int getInputType() {
                return InputType.TYPE_CLASS_TEXT;
                }

                @Override
                protected char[] getAcceptedChars() {
                return new char[] { '.','‘' };
                }
            };
            first_field.setKeyListener(keyListener1);

3 个答案:

答案 0 :(得分:1)

我认为您需要在xml定义中指定android:editable。 根据setFilters方法,它“设置缓冲区可编辑时将使用的输入过滤器列表。”

答案 1 :(得分:1)

我在Onclick方法中评论了这部分代码并且工作正常。

     NumberKeyListener keyListener1 = new NumberKeyListener() {
          public int getInputType() {
             return InputType.TYPE_CLASS_TEXT; 
        }
          @Override
         protected char[] getAcceptedChars() {
         return new char[] { '.','‘' };
         }
     };
     first_field.setKeyListener(keyListener1); 

答案 2 :(得分:0)

更改u pot inputtext = true

中的

editText