【问题标题】:Android: Can't type in an EditTextAndroid:无法输入 EditText
【发布时间】:2015-02-19 20:04:13
【问题描述】:

我不知道为什么,但是当我尝试这样做时,我无法在 EditText 上输入/书写。 EditText 的光标没有出现,出现时的键盘不是数字键盘。 我有以下部分代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.android.asminhasdespesas.Meta_1Activity">


    <TextView android:text="Test:"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TableRow>


            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="number"
                android:textColor="#000000"
                android:cursorVisible="true"
                android:ems="10"
                android:id="@+id/editTextMeta"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:focusable="true"
                android:focusableInTouchMode="true" />

            <TextView
                android:text="€"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        </TableRow>


        <TableRow>

            <Button
                android:id="@+id/buttonNaoColocar"
                android:text="Cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="onClick"/>

            <Button
                android:id="@+id/buttonOk"
                android:text="Ok"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="onClick"/>

        </TableRow>

    </TableLayout>

</LinearLayout>

我尝试使用 "android:cursorVisible="true" 甚至 "android:textColor="#000000" 来解决这种情况,我也尝试过 "android:focusable="true" "android:focusableInTouchMode="true"" 但问题仍然存在,我无法在 EditText 上输入。

你能帮帮我吗?

【问题讨论】:

  • 您提供的代码应该没问题。这可能是由上述原因引起的......
  • 您是否在 Java 文件中使用它?
  • 我觉得编辑文字太小,点击不了。它没有文本内容,并且为宽度和高度设置了 wrap_content。为了测试起见,尝试将编辑文本的宽度和高度设置为 100dp,看看它是否仍然不起作用。
  • @mkorcha,在我的 Java 文件中,我正在这样做: EditText meta_editText = (EditText) findViewById(R.id.editTextMeta); int meta= Integer.parseInt(meta_editText.getText().toString());
  • @CurlyCorvus 我也试过了,行为是一样的:\

标签: android android-edittext


【解决方案1】:

你可能想要这样的东西:

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:textColor="#000000"
        android:cursorVisible="true"
        android:ems="10"
        android:id="@+id/editTextMeta"
        android:layout_gravity="center_vertical"
        android:focusable="true"
        android:focusableInTouchMode="true" />
  • 卸下的重量(未使用)

【讨论】:

    【解决方案2】:

    检查是否有 setOnKeyListener,无论你有编辑文本,如果你不需要该事件,请确保返回 false,例如:

    OnKeyListener listener = new OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_BACK) {
                    //Do something
                    return true;
                }
                return false;
            }
        };
    

    【讨论】:

    • 我遇到了这个问题,实际上是我的模拟器设置。转到模拟器的桌面并尝试在其中输入编辑文本 - 如果仍然无法正常工作,请转到工具/AVD 管理器,选择您的模拟器,单击高级设置,然后选中“启用键盘输入”。
    • 谢谢我从几个小时的调试中救了我:)
    【解决方案3】:

    我是 Android 开发 领域的新手。好吧,我也面临同样的问题。所以我只是设置

    android:text=""
    

    这导致我在EditText 中键入文本时出现。我不知道为什么会这样,但我只是从个人经验说的

    【讨论】:

    • 欢迎来到 stackoverflow.... 请read this link 改进您的答案。虽然您写的内容可能会解决问题,但它只是将默认字段值设置为空。手头的问题仍然不清楚。这个网站效果最好,当你可以向Questioning User解释解决问题的方法,阅读和理解导致问题的原因的文档,甚至关于如何改进他的代码的建议时(稍后你将被授予评论权限) .不要回答“我不知道”、“在这里,试试这个”或“我的东西有效”的问题
    • Hhhhhhmmmm,如果一个答案可能解决问题,我个人会觉得它很有用。它可能最终不是最好的,但问题作者始终可以选择自行寻找知识(在这种情况下,我的个人兴趣是由此处的答案和响应相结合引发的)。尽管同时我确实理解最佳做法是在答案中附上一些额外的解释,所以我明白 Bonatti 的观点,并感谢您抽出时间以这种方式帮助新用户。我想知道 Meta 中是否有关于这个的先例......
    • 感谢 Bonatti 和 Peter 为您提供宝贵的 cmets。下次我一定会尝试更详细地回答
    • @PeterDavidCarter 我同意!!!这对我有帮助,我很高兴它在这里。人们只需要在 SO 权威上冷静下来!我们中的一些人有日常工作。
    • @Bonatti 它的拼写是改进而不是改进。
    【解决方案4】:

    我遇到了同样的问题,然后我从编辑框的父视图(LinearLayout)中删除了 android:focusableInTouchMode="true" 并且它工作正常

    【讨论】:

      【解决方案5】:

      正如其他人所说,您上面的代码看起来不会引起问题。这让我想到,当您在 java 文件中创建对象时,您可能会搞砸设置。我会通过从您的编辑文本字段中消除大量标签来说明问题出在哪里,并使其尽可能少,例如

       <EditText
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:inputType="number"
          android:id="@+id/editTextMeta"
       />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-14
        • 2013-04-11
        • 1970-01-01
        • 1970-01-01
        • 2021-08-05
        相关资源
        最近更新 更多