为什么SearchView和android.support.v7.widget.SearchView不再关注

时间:2017-05-02 14:52:26

标签: android xamarin xamarin.android

我有一个简单的搜索输入和次要的自定义。 我以前针对Android 6编译并且行为符合预期:

  • 专注于控制
  • 键盘出现

在针对Android 7.1(API 25)进行编译时,我的SearchView开始表现得非常奇怪。

  • 他们没有Metro Style底部边框
  • 他们不接受焦点
  • 不要打开键盘

我从android.support.v7.widget.SearchView迁移到android.widget.SearchView,看看是否解决了这个问题。

2 个答案:

答案 0 :(得分:2)

显然,View / Control的一些内部已经改变,因此焦点行为也发生了变化:

而不是设置

searchView.ClearFocus();
searchView.Focusable = false;

(显然需要ClearFocus()来防止键盘一直弹出。)

我现在设置

searchView.SetIconifiedByDefault(false);
searchView.Iconified = false;
searchView.RequestFocusFromTouch();

默认情况下展开它并再次接受输入。

原来的帮助暗示被埋在这里:

https://stackoverflow.com/a/29876075/5872586

希望这能节省一些时间!

PS:如果某人对正在发生的事情有解释,请分享您的知识,我会接受您的回答。

答案 1 :(得分:0)

以下是我使用android.support.v7.widget.SearchView

的所有代码
    binding.searchView.setIconified(false);
    binding.searchView.clearFocus();

    EditText searchField = (EditText)
            binding.searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);

    searchField.setFocusableInTouchMode(true);
    searchField.requestFocus();