2012-04-24 6 views
0

я есть реализовать в моем приложении метод поиска onSearchRequested() с помощью списка и она работает хорошо, и я создать 2 активности один для данных списка, а другой для результатов поиска в той формеonSearchRequested() приводит к той же самой деятельности

общественного класса acitvity1 расширяет InterfaceBase {

@Override 
    ListAdapter makeMeAnAdapter(Intent intent) { 

      return(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items)); 

    }  
} 

и деятельность 2, которые включают в себя результат поиска

public abstract class Acitvity2 extends InterfaceBase { 

    @Override 
    ListAdapter makeMeAnAdapter(Intent intent) { 

      ListAdapter adapter=null; 

      if (intent.getAction().equals(Intent.ACTION_SEARCH)) { 
        String query=intent.getStringExtra(SearchManager.QUERY); 
        List<String> results=searchItems(query); 

        adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,results); 
        setTitle("Search : "+query); 
      } 
      return(adapter); 
    } 
    private List<String> searchItems(String query) { 
      SearchSuggestionProvider 
        .getBridge(this) 
        .saveRecentQuery(query, null); 

      List<String> results=new ArrayList<String>(); 

      for (String item : items) { 
        if (item.indexOf(query)>-1) { 
          results.add(item); 
        } 
      } 
      return(results); 
    } 

так его там можно сделать результат поиска появляются обратного вызова активности означают в activity1 и есть какие-либо изменения должны сделать в файле манифеста слишком THx за помощью

+0

элементов не существует – njzk2

+0

, если я хочу поставить activity1 в tabhost и сделать результат в деятельности2 появляются в той же вкладке ее можно>? itred with tabgroupactivity, но это не помогло с этим справиться? – steevoo

ответ

0

Вы должны переопределить onNewIntent так:

@Override 
protected void onNewIntent(Intent intent) { 
    makeMeAnAdapter(intent); 
} 

Затем включите поиск метаданных в деятельности2, что-то вроде:

<meta-data android:name="android.app.searchable" android:resource="@xml/search" /> 
+0

его не решил свою возвратную пустую деятельность, но если я добавлю вкладку к активности1 по aim = new Intent(). SetClass (this, activity1.class); TabHost.TabSpec spec = tabHost.newTabSpec ("tab1"); spec.setIndicator ("tab1"); spec.setContent (намерение); tabHost.addTab (spec); его можно сделать, чтобы второе действие появилось в tab1 – steevoo

Смежные вопросы