我在ListView中有EditText。单击下一个焦点时,第一个项目焦点丢失,下一个按钮变为新线条按钮。在其他项目上,一切都可以正常运作。
我的列表行布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/field_row_height">
<EditText
android:id="@+id/field"
style="@style/EditText.Form.Field"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/double_default_padding"/>
<Button
android:id="@+id/required"
style="@style/Button.Gray"
android:layout_width="@dimen/required_button_width"
android:layout_height="@dimen/required_button_height"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/default_padding"
android:gravity="center"
android:padding="0dp"
android:text="@string/form_field_required"
android:textColor="@color/white"/>
答案 0 :(得分:1)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/field_row_height">
<EditText
android:id="@+id/field"
style="@style/EditText.Form.Field"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/double_default_padding">
<requestFocus />
</EditText>
<Button
android:id="@+id/required"
style="@style/Button.Gray"
android:layout_width="@dimen/required_button_width"
android:layout_height="@dimen/required_button_height"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/default_padding"
android:gravity="center"
android:padding="0dp"
android:text="@string/form_field_required"
android:textColor="@color/white"/>
listView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS); android:windowSoftInputMode="adjustPan" in your activity or android:descendantFocusability="beforeDescendants"
答案 1 :(得分:0)
试试这个
<EditText
android:id="@+id/field"
style="@style/EditText.Form.Field"
android:layout_width="match_parent"
android:focusable="true"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/double_default_padding"/>
你忘了这个
android:focusable="true"
答案 2 :(得分:0)
如果您在视图获得打开时请求焦点请求焦点获取焦点。
<EditText
android:id="@+id/field"
style="@style/EditText.Form.Field"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/double_default_padding">
<requestFocus />
</EditText>
答案 3 :(得分:0)
解决方案:
listView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);