【问题标题】:Why do SearchView and android.support.v7.widget.SearchView not focus anymore为什么 SearchView 和 android.support.v7.widget.SearchView 不再关注
【发布时间】:2017-05-02 14:52:26
【问题描述】:

我有一个带有少量自定义的简单搜索输入。 我之前针对 Android 6 进行了编译,并且行为符合预期:

  • 专注于控件
  • 键盘出现

针对 Android 7.1 (API 25) 进行编译时,我的 SearchView(s) 开始出现异常行为。

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

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

【问题讨论】:

    标签: android xamarin xamarin.android


    【解决方案1】:

    显然,视图/控件的一些内部结构发生了变化,因此焦点行为也发生了变化:

    而不是设置

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

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

    我现在设置

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

    默认展开并再次接受输入。

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

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

    希望这可以节省一些时间!

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

    【讨论】:

      【解决方案2】:

      这是我所有使用 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();
      

      【讨论】:

        猜你喜欢
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-03
        • 1970-01-01
        • 2016-12-04
        相关资源
        最近更新 更多