如何在SearchView Android中启用闪烁光标

时间:2016-01-15 01:49:29

标签: android searchview

我的工具栏中有两个SearchView,我想启用闪烁的光标,这样我就可以看到我正在输入的是哪个searchView。当我开始在SearchView中输入时,没有光标可用。当我输入更多内容然后触摸我输入的文本时,蓝色指向形状指向单击的文本位置 - 但不显示光标。

如何以编程方式启用黑色闪烁的矩形线光标?

我尝试过的一些事情:

  1. 改变光标颜色,因为它是不可见的 - StackOverFlow
  2. searchView.setFocusable(),searchView.requestFromTouch()
  3. 设置我的searchView可能有问题吗? 继承我的setupSearchView代码:

    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);
    

2 个答案:

答案 0 :(得分:0)

   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();
        }

答案 1 :(得分:0)

我也遇到了这个问题,并尝试了所有方法,直到更改了SearchView的InputType(TYPE_TEXT_VARIATION_NORMAL)。将InputType更改为TYPE_TEXT_VARIATION_FILTER后,我又回到了光标,并显示了软键盘。因此,请检查输入类型是否有问题。下面的代码来自Xamarin Android项目,但在Java中应该类似。

SearchView.InputType = (int)InputTypes.TextVariationFilter;