我有EditText
,其中包含ListView
。一般来说,这应该是正常的,因为我已设置android:descendantFocusability="afterDescendants"
以使用户能够聚焦EditText以输入文本。
在运行Android 2.2的设备上,存在如下问题:
这发生在两个不同的2.2设备上,但在运行4.0.1的Galaxy Nexus上不会发生,也不会在模拟器上发生。
这是包含编辑文本的XML布局:
search_bar.xml
<RelativeLayout
android:id="@+id/search_section"
android:layout_width="fill_parent"
android:layout_height="@dimen/search_bar_height" >
<ImageView
android:id="@+id/search_bar_bg"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/searchbarbg" />
<EditText <!-- This is the EditText in question -->
android:id="@+id/search_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/searchfieldbg"
android:hint="@string/search_view_hint" />
<ImageView
android:id="@+id/scan_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/scan_button" />
</RelativeLayout>
<ImageView
android:id="@+id/search_bar_shadow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/search_section"
android:background="@drawable/shadowtop" />
</RelativeLayout>
这是listview,其中包含上面的布局:
browse_layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/main_bg" >
<ListView
android:id="@+id/categories_list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:descendantFocusability="afterDescendants"
android:divider="@null"/>
</RelativeLayout>
答案 0 :(得分:0)
无需更改适配器只需输入如下所示的代码: ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))。toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);