我的工具栏中有两个搜索视图,我想启用闪烁的光标,以便我可以看到我当前正在键入的搜索视图。当我开始在搜索视图中键入时,没有光标可用。当我再键入一些内容,然后触摸我键入的文本时,一个蓝色的指向文本位置 - 但没有光标出现。
如何以编程方式启用黑色闪烁的矩形线光标?
我尝试过的一些事情:
- 更改光标颜色以防不可见 -堆栈溢出
- searchView.setFocusable(), searchView.requestFromTouch()
也许设置我的搜索视图有问题?这是我的设置搜索视图代码:
SearchManager searchManager = (SearchManager)getActivity().getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
searchView.setIconified(false);
searchView.setonActionExpanded();
searchView.setQueryHint(hint);
searchView.setFocusable(true);
SearchView.SearchAutoComplete searchTextView = mSearchView.findViewById(R.id.search_src_text);
try {
Field mCursorDrawableRes = TextView.class.getDeclaredField("mCursorDrawableRes");
mCursorDrawableRes.setAccessible(true);
mCursorDrawableRes.set(searchTextView, 0);
//This sets the cursor resource ID to 0 or @null which will make it visible on white background
} catch (Exception e) {
e.printStackTrace();
}
我也遇到了这个问题并尝试了一切,直到我更改了 SearchView 的 InputType (TYPE_TEXT_VARIATION_NORMAL)。将输入类型更改为TYPE_TEXT_VARIATION_FILTER后,我收回了光标并显示了软键盘。因此,请检查输入类型是否是问题所在。下面的代码来自Xamarin Android项目,但它在Java中应该是类似的。
SearchView.InputType = (int)InputTypes.TextVariationFilter;