【问题标题】:EditText in Android not working/allowing to enter valueAndroid中的EditText不起作用/不允许输入值
【发布时间】:2017-03-22 10:22:40
【问题描述】:

我的 EditText 元素在弹出窗口中显示良好,但不允许输入值,我无法在该 edittext 元素中输入任何内容。 在这里我附上了 xml 代码和屏幕截图。如果你也想要我的主要活动类 java 代码,请告诉我我可以在这里添加它。

xml代码:

    `<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="@android:color/background_light">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_margin="1dp"
            android:background="@android:color/darker_gray">
            >
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_margin="20dp">

                <TextView
                    android:id="@+id/texttitle1"
                    android:textStyle="bold"
                    android:textSize="25dp"
                    android:textColor="#891800"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Create Appoinment" />

                <TimePicker
                    android:id="@+id/timePicker1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:timePickerMode="spinner" />

                <EditText
                    android:id="@+id/Easy"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:inputType="textNoSuggestions"
                    />


                <Button
                    android:id="@+id/save"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:onClick="openNewActivity"
                    android:text="Save" />



                <Button
                    android:id="@+id/dismiss"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Back to Menu" />

            </LinearLayout>
        </LinearLayout>
    </LinearLayout>`

【问题讨论】:

  • 你需要传递一些高度来编辑文本
  • 也给出了高度,但同样没有发生任何事情

标签: java android xml android-edittext


【解决方案1】:

取输入类型文本 noSuggestions 并用文本替换

【讨论】:

  • 完成但仍然相同,即使没有显示键盘也不允许在那里输入任何内容
  • ok 把 focusable true 和 focusable in touch mode true 设置为edittext
  • 先把toast消息放到edittext clcik监听器上,检查是否检测到点击事件,然后我们开始继续
【解决方案2】:

找到解决方案:

1.在Manifest文件中请写windowSoftInputMode:

 <activity android:name=".MainActivity" 
  android:windowSoftInputMode="stateHidden" />
  1. 请把这些行放在主 LinearLayout 中

     android:focusable="true"
     android:focusableInTouchMode="true"
    

3.请检查文档

https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

【讨论】:

  • 还是一样:/我添加了它
  • 当你聚焦编辑文本时,我可以知道键盘是否抬起?
  • 没有提出我什至我也添加了这个 android:focusable="true" android:focusableInTouchMode="true"
  • 你在哪里添加的?
  • 编辑文本
【解决方案3】:

试试下面的 XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/background_light"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="1dp"
        android:background="@android:color/darker_gray"
        android:orientation="vertical"
        android:padding="20dp">
        >


        <TextView
            android:id="@+id/texttitle1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Create Appoinment"
            android:textColor="#891800"
            android:textSize="25dp"
            android:textStyle="bold" />

        <TimePicker
            android:id="@+id/timePicker1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:timePickerMode="spinner" />

        <EditText
            android:id="@+id/Easy"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:inputType="textNoSuggestions" />


        <Button
            android:id="@+id/save"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="openNewActivity"
            android:text="Save" />


        <Button
            android:id="@+id/dismiss"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Back to Menu" />

    </LinearLayout>
</LinearLayout>

【讨论】:

    【解决方案4】:

    在我的情况下,我不小心将android:descendantFocusability="blocksDescendants" 放到了父布局中,这会阻止此布局中的小部件聚焦。这就是为什么,它不起作用:)

    如果你有这条线,请删除它会正常工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-12
      • 2012-04-06
      • 1970-01-01
      • 2021-07-30
      • 1970-01-01
      • 2015-08-26
      • 2013-03-29
      相关资源
      最近更新 更多