我的SearchView
中有一个Toolbar
按钮,每当我点击按钮时,SearchView
会展开,键盘就会弹出来。但是,当它处于初始状态时,没有闪烁的光标。我可以输入内容,它会显示输入的文字,但不会显示光标。但是一旦我触摸文本区域,然后就会显示闪烁的光标。
那么如何在点击图标时让SearchView
显示闪烁的光标,而不会触及文本区域?
触摸“文本区域”是指箭头所指的区域,以避免混淆:
如果有任何帮助,这是我的SearchView xml代码:
<android.support.v7.widget.SearchView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/search_view_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:queryHint="@string/search">
</android.support.v7.widget.SearchView>
我在SearchView
中作为MenuItem
对象访问了OnCreateOptionsMenu()
。任何帮助表示赞赏。
答案 0 :(得分:2)
cursor
不可见,因为它与actionbar
具有相同的颜色。
尝试this
SearchView searchView = (SearchView) ((AppCompatActivity) context).findViewById(R.id.search_view);
final EditText e = (EditText) sitesSearchView.findViewById(searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null));
try {
Field mCursorDrawableRes = TextView.class.getDeclaredField("mCursorDrawableRes");
mCursorDrawableRes.setAccessible(true);
mCursorDrawableRes.set(e, 0); //This sets the cursor resource ID to 0 or @null which will make it visible on white background
} catch (Exception ex) {}
** 编辑 **
试试这个
searchView.onActionViewExpanded();
答案 1 :(得分:-1)