【问题标题】:Android SearchView using FloatingActionButtonAndroid SearchView 使用 FloatingActionButton
【发布时间】:2016-02-17 17:51:52
【问题描述】:

我正在尝试在 Android 应用中实现搜索,但不幸的是,我找不到在没有 MenuItem 的情况下实现 SearchView 的方法。就像在 onCreateOptionsMenu() 中所做的一样:

SearchManager searchManager =
                (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView addView =
                (SearchView) menu.findItem(R.id.action_add).getActionView();
addView.setSearchableInfo(
                searchManager.getSearchableInfo(getComponentName()));

我想使用 FloatingActionButton 实现 SearchView,但遗憾的是,尽管上面的 getActionView() 也返回了一个视图,但强制转换不起作用。我试过这样:

SearchView searchView = (SearchView) floatingActionButton;

但很遗憾我得到了:

java.lang.ClassCastException: android.support.design.widget.FloatingActionButton cannot be cast to android.widget.SearchView

这是我的菜单声明:

<item
        android:id="@+id/action_add"
        android:icon="@drawable/ic_add"
        android:title="Add"
        app:showAsAction="collapseActionView|always"
        android:actionViewClass="android.widget.SearchView"
        app:actionViewClass="android.support.v7.widget.SearchView"
        />

这是我的清单声明:

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar"
        >
            <meta-data android:name="android.app.default_searchable"
                android:value=".SearchResultsActivity" />


        </activity>
        <activity
            android:name=".SearchResultsActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme"
            android:launchMode="singleTop">

            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
        </activity>

如何让 FloatingActionButton 触发 android 工具栏中的搜索小部件? 感谢您的帮助。

【问题讨论】:

  • 你是说FAB被变形为搜索视图吗?
  • 不,我想在按下 FAB 时触发搜索。 developer.android.com/guide/topics/search/search-dialog.html
  • 你正朝着正确的方向前进!但我仍然有一个问题。如果我单击我的 FloatingActionButton,它只会打开键盘,但不会展开 @thetonrifles

标签: java android


【解决方案1】:

尝试使用MenuItemCompat.expandActionView(yourSearchMenuItem);,据我所知,这也适用于 API

【讨论】:

  • expandActionView 已弃用
  • 那么,如果 expandActionView 已弃用,还有什么替代方案?
猜你喜欢
  • 2013-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-07
  • 2018-10-21
  • 1970-01-01
  • 2013-01-28
相关资源
最近更新 更多