Android ListView中的EditText不可编辑

Android ListView中的EditText不可编辑,android,android-layout,android-listview,android-edittext,Android,Android Layout,Android Listview,Android Edittext,我正在尝试使用嵌套在ListView中的EditText视图构建表单。ListView和EditText之间有几个级别的RelativeLayout和LinearLayout对象,但从我所读到的来看,这应该不是问题 我已经尽力了。我已经为我的活动在AndroidManifest中设置了android:WindowsOfInputMode=adjustPan,我也为我的ListView设置了android:DegenantFocusability=BeforeDegenders。我甚至为ListV

我正在尝试使用嵌套在ListView中的EditText视图构建表单。ListView和EditText之间有几个级别的RelativeLayout和LinearLayout对象,但从我所读到的来看,这应该不是问题

我已经尽力了。我已经为我的活动在AndroidManifest中设置了android:WindowsOfInputMode=adjustPan,我也为我的ListView设置了android:DegenantFocusability=BeforeDegenders。我甚至为ListView和EditText之间的所有布局对象都设置了这个值。然而,所有这些似乎都不起作用

我遇到的主要问题是软键盘没有显示,即使我双击文本字段以调出编辑选项,我仍然无法在EditText区域中键入任何内容。我是不是完全用错了对象控件

这是我的ListView对象的布局代码

<ListView
    android:id="@+id/FormlistView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:descendantFocusability="beforeDescendants"
    style="@style/KelFormListView" />
这是我的form_list_item.xml文件的布局代码。这是在表单列表中显示的项目

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="120dp"
    android:descendantFocusability="beforeDescendants">

    <!-- Top Layout -->
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:weightSum="10"
        android:descendantFocusability="beforeDescendants"
        android:id="@+id/TopLayout">

        <TextView
            android:id="@+id/TitleTextView"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="7"
            android:gravity="center_vertical"
            android:text="Headling Rent (pa)"
            android:textSize="16dp"
            style="@style/KelFormListItemLabel" />

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="3"
            android:weightSum="2"
            android:descendantFocusability="beforeDescendants"
            android:background="@color/formListItemValueBackgroundColor">

            <ImageView
                android:id="@+id/CurrencyIconView"
                android:layout_width="22dp"
                android:layout_height="22dp"
                android:layout_weight="0"
                android:src="@drawable/icon_currency_pound"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="5dp" />

            <EditText
                android:id="@+id/ValueTextView"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="2"
                android:gravity="right|center_vertical"
                android:text="20,000"
                android:textSize="16dp"
                android:inputType="number"
                android:focusableInTouchMode="true"
                android:editable="true"
                style="@style/KelFormListItemValue"/>

        </LinearLayout>

    </LinearLayout>

    <!-- Bottom Layout -->
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:weightSum="10"
        android:id="@+id/BottomLayout"
        android:descendantFocusability="beforeDescendants"
        android:layout_below="@+id/TopLayout">

        <TextView
            android:id="@+id/BottomTitleTextView"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="7"
            android:gravity="center_vertical"
            android:text="Headling Rent (pa)"
            android:textSize="16dp"
            style="@style/KelFormListItemLabel" />

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="3"
            android:weightSum="2"
            android:descendantFocusability="beforeDescendants"
            android:background="@color/formListItemValueBackgroundColor">

            <ImageView
                android:id="@+id/BottomCurrencyIconView"
                android:layout_width="22dp"
                android:layout_height="22dp"
                android:layout_weight="0"
                android:src="@drawable/icon_currency_pound"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="5dp" />

            <EditText
                android:id="@+id/BottomValueTextView"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="2"
                android:gravity="right|center_vertical"
                android:text="20,000"
                android:textSize="16dp"
                android:inputType="number"
                android:focusableInTouchMode="true"
                android:editable="true"
                style="@style/KelFormListItemValue"/>

        </LinearLayout>

    </LinearLayout>
</RelativeLayout>

好吧,我自己解决了问题。主要问题与我的任何代码都无关。问题实际上是模拟器本身的问题。在Android ADV中创建新的虚拟设备时,有一个名为Enable Keyboard的设置,或者类似的设置。此设置允许您在emulator中使用硬件键盘,但它会阻止显示软键盘。那是我的问题

在我看来,这个设置很容易引起混淆,因为直到你显示了高级设置,它才会出现。在我看来,谷歌的某个人做出的这个决定很糟糕。iOS开发更容易的另一个原因…当然在我看来