焦点在焦点时,SearchView不显示闪烁的光标

时间:2016-02-17 01:37:16

标签: android xml searchview

我的SearchView中有一个Toolbar按钮,每当我点击按钮时,SearchView会展开,键盘就会弹出来。但是,当它处于初始状态时,没有闪烁的光标。我可以输入内容,它会显示输入的文字,但不会显示光标。但是一旦我触摸文本区域,然后就会显示闪烁的光标。

那么如何在点击图标时让SearchView显示闪烁的光标,而不会触及文本区域?

触摸“文本区域”是指箭头所指的区域,以避免混淆:

enter image description here

如果有任何帮助,这是我的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()。任何帮助表示赞赏。

2 个答案:

答案 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)