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();