2016-01-19 78 views
-1

我可以在android中創建SearchActivity。它的效果很好,但我想在SearchActivity開始時在Search Widget中顯示Query。我怎樣才能得到這個? 這是我MainActivity與搜索查詢plumber enter image description here在android中使用查詢開始搜索活動

這是我SearchActivity當我點擊搜索按鈕 enter image description here

現在我想,當SearchActivity打開它應該有plumber什麼,在它的Search.WidgetMainActivity,同時輸入查詢。

+0

? – sector11

+0

只是顯示你想要的圖片..我會幫你 –

+0

@ sector11是我使用'SearchView'。我遵循http://developer.android.com/intl/pt-br/training/search/setup.html,本教程使'SearchView'成爲可能。 –

回答

0

這是你在你使用搜索查看緊湊找什麼 menu_search.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context=".ui.home.activities.TransactionSearchActivity"> 
    <item 
     android:id="@+id/action_search" 
     android:icon="@android:drawable/ic_menu_search" 
     android:title="@string/search" 
     app:actionViewClass="android.support.v7.widget.SearchView" 
     app:showAsAction="ifRoom" /> 
</menu> 

private EditText searchPlate; 
    @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      getMenuInflater().inflate(R.menu.menu_search, menu); 
      final MenuItem searchItem = menu.findItem(R.id.action_search); 

      if (searchItem != null) { 
       searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 
       searchView.setOnCloseListener(new SearchView.OnCloseListener() { 
        @Override 
        public boolean onClose() { 
         return false; 
        } 
       }); 
       searchView.setOnSearchClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
        } 
       }); 
       searchPlate = (EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); 
       searchPlate.setHint("Search"); 
       View searchPlateView = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate); 
       searchPlateView.setBackgroundColor(ContextCompat.getColor(this, android.R.color.transparent)); 
       // use this method for search process 
       searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
        @Override 
        public boolean onQueryTextSubmit(String query) { 
         // use this method when query submitted 
         return false; 
        } 

        @Override 
        public boolean onQueryTextChange(String newText) { 
         // use this method for auto complete search process 
         return false; 
        } 
       }); 
       SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); 
       searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 

      } 
      return super.onCreateOptionsMenu(menu); 
     } 

那麼的onResume()

使用本

searchPlate.setText("My Search Query"); 
+0

不,它沒有工作。我有一切工作。我可以搜索,我可以獲得搜索結果和所有內容。當'SearchActivity'啓動時,我只想從'MainActivity'中將'Query'填充到'SearchActivity'的'SearchView'中。 –

+0

對我來說它的工作你可能會做錯某些地方 – sector11