2014-09-01 34 views
0

输入搜索查询我希望用户输入一个mainactivity搜索查询,然后我会保存此查询,而在另一个活动(搜索)进行搜索。但现在我只有代码,当一个项目“搜索”按下另一个活动出现和用户的输入查询那里在searchdialog。我应该如何在我的主要活动中打字并打开搜索对话框,然后在进入后进入可搜索的活动?下面是一个现有代码:的Android,JAVA:在活动

的AndroidManifest.xml:

 <activity 
     android:name=".MainActivity" 
     android:screenOrientation="sensor" > 
     <intent-filter 
      android:clearTaskOnLaunch="true" 
      android:label="@string/app_name" 
      android:stateNotNeeded="true" > 
      <action android:name="android.intent.action.VIEW" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

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

MainActivity.java:

public boolean onOptionsItemSelected(MenuItem item) { 
switch (item.getItemId()) { 
    case R.id.search: 
     choise = 0; 
     onSearchRequested(); 
     Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show(); 
     Intent intent_search = new Intent(this, Searchable.class); 
     startActivity(intent_search); 
     return true; 
... 

Searchable.java:

if (Intent.ACTION_SEARCH.equals(intent.getAction())) { 
     String query1 = intent.getStringExtra(SearchManager.QUERY); 
     ... 

回答

0

可以使用OnQueryTextChange queryTextListener的方法。

SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextChange(String newText) { 
      // this is your adapter that will be filtered 
      return true; 
     } 
     @Override 
     public boolean onQueryTextSubmit(String query) { 

     } 
    };