Android 如何打开新活动以显示SearchView中的结果?
我一直在一个应用程序中工作,它使用Android 如何打开新活动以显示SearchView中的结果?,android,searchview,Android,Searchview,我一直在一个应用程序中工作,它使用SearchView小部件作为ActionView中的ActionBar 当我键入搜索并点击搜索按钮时,会出现问题,它会打开同一个活动,我要做的是打开一个新活动并在ListView上显示结果,如何解决这个问题 这是我的AndroidManifest.xml文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/a
SearchView
小部件作为ActionView
中的ActionBar
当我键入搜索并点击搜索按钮时,会出现问题,它会打开同一个活动,我要做的是打开一个新活动并在ListView上显示结果,如何解决这个问题
这是我的AndroidManifest.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="andres.hotelsoria" >
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher_hotel"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
<activity
android:name=".SearchableActivity"
android:label="@string/title_activity_searchable" >
</activity>
</application>
//你必须像这样开始新的活动 SearchView.OnQueryTextListener textListener=新建SearchView.OnQueryTextListener(){
//你必须像这样开始新的活动 SearchView.OnQueryTextListener textListener=新建SearchView.OnQueryTextListener(){
您可以通过向SearchView附加一个
OnQueryTextListener
来启动新活动
final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Intent intent = new Intent(getApplicationContext(), SearchableActivity.Class);
startActivity(intent);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return true;
}
};
searchView.setOnQueryTextListener(queryTextListener);
您可以通过向SearchView附加一个
OnQueryTextListener
来启动新活动
final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Intent intent = new Intent(getApplicationContext(), SearchableActivity.Class);
startActivity(intent);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return true;
}
};
searchView.setOnQueryTextListener(queryTextListener);
读这篇文章
如本文档所述,请遵循以下步骤
1) 在res->xml->searchable.xml中创建一个文件夹,粘贴文档中提到的内容
2) 转到AndroidManifest.xml并将活动(您希望在其中传递搜索结果)更改为此
5) 在onOptionsItemSelected中。
->获取搜索视图的Id
->块内的简单粘贴onSearchRequested()
public boolean onSearchRequested() {
return super.onSearchRequested();
}
6) 向onQueryTextListener注册searchView并执行您想要执行的操作
阅读这篇文章
如本文档所述,请遵循以下步骤
1) 在res->xml->searchable.xml中创建一个文件夹,粘贴文档中提到的内容
2) 转到AndroidManifest.xml并将活动(您希望在其中传递搜索结果)更改为此
5) 在onOptionsItemSelected中。
->获取搜索视图的Id
->块内的简单粘贴onSearchRequested()
public boolean onSearchRequested() {
return super.onSearchRequested();
}
6) 向onQueryTextListener注册searchView并执行您想要执行的操作
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
// Assumes current activity is the searchable activity
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false); // Do not iconify the widget;
public boolean onSearchRequested() {
return super.onSearchRequested();