您的位置:首页 > 移动开发 > Android开发

android toolbar中searchView的使用

2015-04-30 17:16 441 查看
最近在做毕业设计中用到了 searchview,搜了很多资料发现很多次发现很少有关于这个,就依这篇文章记录一下 searchview的使用,省得自己以后忘记

下面是代码重点内容

[code]//重写ActionBarActivity中的方法 别忘了导入
//android.support.v7支持包
public boolean onCreateOptionsMenu(Menu menu) {

//首先要inflate menu_main.xml
//这个文件存放在 res/menu/menu_main.xml
getMenuInflater().inflate(R.menu.menu_main.xml,menu);
//获得searchView对象
final SearchView searchView = (SearchView)MenuItemCompat.getActionView(menu.findItem(R.id.ab_search));
//获得searchManager对象
SearchManager searchManager = (SearchManager)getSystemService(SEARCH_SERVICE);

searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
//上面这段是我手打的,怕字母会出错,说一下

/* ShareActionProvider配置 */
//这个是共享的的功能,就一起贴了上来
 mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(menu
                .findItem(R.id.action_shared));
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/*");
        mShareActionProvider.setShareIntent(intent);
        return super.onCreateOptionsMenu(menu);
    }


下面是在AndroidManifist.xml 里面的添加的

[code] <meta-data
 <!--name默认就行,value是你自己处理这个search的activity-->
            android:name="android.app.default_searchable"
            android:value="com.example.baoyu.myapplication.SearchActivity" />
        <activity android:name=".SearchActivity">
        <!--必须设置这个过滤器-->
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
            </intent-filter>

<!--指定了一些search的东西-->
            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        </activity>


searchable.xml文件

在res/xml/searchable.xml

[code]<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:hint="搜索记事内容"
    android:label="@string/app_name" />


之后就是 SearchActivity

[code]public class SearchActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_search);
        // Get the intent, verify the action and get the query
        Intent intent = getIntent();
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            String query = intent.getStringExtra(SearchManager.QUERY);

        }
    }
}


so.就到这里了 我是个android 新手,上面难免有错误

希望共同学习,共同进步
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: