编辑不接受数字的文本,仅接受字母(未设置输入类型)

时间:2013-07-24 22:32:54

标签: android android-layout android-edittext

<TextView
    style="@style/ProductTextViewTitle"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="Add a Price at a Local Store" />

<TableRow
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:gravity="center_vertical"
    android:padding="5dp" >

    <TextView
         android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.4"
        android:gravity="center_vertical"
        android:paddingLeft="5dp"
        android:text="@string/store_name" />

    <EditText
        android:id="@+id/store"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.6"
        android:background="@null"
        android:hint="@string/stores_hint" />
</TableRow>

<TableRow
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:gravity="center_vertical"
    android:padding="5dp" >

    <TextView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.4"
        android:gravity="center_vertical"
        android:paddingLeft="5dp"
        android:text="@string/price" />

    <EditText
        android:id="@+id/no_prices_found"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.6"
        android:background="@null"
        android:hint="@string/price_italic_hint" >

    </EditText>
</TableRow>

<TableRow
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:layout_marginTop="5dp"
    android:gravity="center_vertical"
    android:padding="5dp" >

    <Button
        android:id="@+id/submit"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="Add price"
        android:textStyle="italic" />
</TableRow>

id =“no_prices_found”的编辑文本不接受任何数字,但接受特殊字符和字母。关于在an​​droid中编辑文本的这种奇怪行为的任何线索。名为编辑文本的“商店”行为正常。

=====注意====== 当它被用作在其父片段中使用的片段布局时,这种布局工作正常。任何想法父母的行为可能导致这种情况吗?

2 个答案:

答案 0 :(得分:1)

当我的EditText被放置在Dialog布局中并且我无法在字段内键入任何数字(字母和其他字符确实工作正常)时,我遇到了类似的问题,更改inputType没有帮助。

我意识到我使用自定义OnKeyListener作为我的Dialog,这就是问题 - 如果按下的键应该正确地传递给Dialog的子节点(包括EditText),则必须从内部返回false。然后我的EditText再次开始工作。

答案 1 :(得分:0)

我遇到了类似的问题。问题是在不满足条件时在 OnKeyListener 中使用事件(按下的键未输入)。这导致没有将 onKey 事件传递给系统。返回 false 完成了工作。

有关 Android 事件处理的更多信息,您可以找到 here