我已经阅读了大量类似的问题,但我没有找到解决我问题的解决方案,所以请不要将其标记为重复。
我有一个ListFragment
包含FrameLayout
a 的 a ListView
,通过 a 填充custom ArrayListAdapter
。列表的每一行包含三个元素:
Checkbox
,EditText
和ImageButton
.
我的问题是,当我点击一个EditText
来更改string
它时,它包含键盘出现,但焦点立即消失,我无法写字。
请注意,我已经添加到我Activity
的manifest
文件中
android:windowSoftInputMode="adjustResize"
即便是
android:descendantFocusability="afterDescendants" android:descendantFocusability="beforeDescendants"
不能解决问题。
这是我的 XML 代码:
row_item.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item_checkbox"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
/>
<EditText
android:id="@+id/item_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="60px"
android:text="Test text"
android:singleLine="true"
android:layout_toRightOf="@id/item_checkbox"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/item_important"
android:layout_toStartOf="@+id/item_important" />
<ImageButton
android:id="@+id/item_important"
android:layout_width="20dip"
android:layout_height="20dip"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:visibility="visible"
android:layout_marginLeft="10dp" />
</RelativeLayout>
片段列表.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp"
>
<ListView android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</FrameLayout>
如果您能建议我一些资源来了解在这种情况下可聚焦性如何工作,那就太好了。
谢谢
更新
我发现问题是由键盘出现造成的:我猜视图回收是EditText
失去焦点的原因。