2015-07-10 2 views
-1

Я использую навигационный ящик, и у меня есть панель действий во всех фрагментах, я пытаюсь добавить значок поиска в панель действий, но его не появляется, приложение не сбой, но даже значок не отображается в моей панели действий, следующий мой код, который может любой помощиКак добавить значок поиска в панели действий?

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/action_settings" 
     android:orderInCategory="100" 
     android:showAsAction="never" 
     android:icon="@drawable/searchs" 
     android:title="@string/action_settings"/> 



</menu> 

MainActivity

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 
+0

видеть эту ссылку http://stackoverflow.com/questions/30566886/searchview-in-actionbar-appcompat/30566958#30566958 –

ответ

1

я думаю, что это из-за:

android:showAsAction="never"

вместо этого использования:

android:showAsAction="ifRoom"

+0

принят и до голосования – Aditya

+0

возможно установить Clik listner на значке, что я установил в панели действий? – Aditya

+0

Я не уверен в добавлении слушателя, потому что я все еще новичок, но я думаю, что вы ищете что-то вроде этого [Link] (https://developer.android.com/training/basics/actionbar/adding-buttons. html # Ответить) –

1

ShowAsAction должен быть всегда или ifRoom.

always makes sure it is always present. 
ifRoom pushes the menuitem into overflow menu if space is not available. 

если ваше намерение состоит в том, чтобы приложить функции поиска к вашей деятельности, вы должны рассмотреть возможность использования SearchView widget вместо того, чтобы использовать и значок и обработки, нажмите на него.

+0

спасибо, я проголосую – Aditya

1

@Override 
 
    \t public boolean onCreateOptionsMenu(Menu menu) { 
 
    \t \t getMenuInflater().inflate(R.menu.menu_contact, menu); 
 
    \t \t MainActivityAfterLogin.menu = menu; 
 

 
    \t \t MenuItem searchItem = menu.findItem(R.id.menu_search); 
 
    \t \t SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
 
    \t \t SearchView searchView = (SearchView) MenuItemCompat 
 
    \t \t \t \t .getActionView(searchItem); 
 
    \t \t searchView.setSearchableInfo(searchManager 
 
    \t \t \t \t .getSearchableInfo(getComponentName())); 
 
    \t \t searchView.setOnQueryTextListener(new OnQueryTextListener() { 
 

 
    \t \t \t @Override 
 
    \t \t \t public boolean onQueryTextSubmit(String text) { 
 

 
    \t \t \t \t return false; 
 
    \t \t \t } 
 

 
    \t \t \t @Override 
 
    \t \t \t public boolean onQueryTextChange(String text) { 
 

 
    \t \t \t \t return false; 
 
    \t \t \t } 
 
    \t \t }); 
 

 
    \t \t return true; 
 
    \t } 
 

 

 

 
    <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="${relativePackage}.${activityClass}" > 
 

 
     
 
     <item 
 
      android:id="@+id/menu_search" 
 
      android:title="@string/action_search" 
 
      app:actionViewClass="android.support.v7.widget.SearchView" 
 
      app:showAsAction="always"/> 
 

 
    </menu> 
 

 
add this in manifest 
 

 
<activity 
 
      android:name="**mainactivity**" 
 
      android:label="@string/title_activity_invited_person_list" > 
 
      <meta-data 
 
       android:name="android.app.default_searchable" 
 
       android:value="**result activity**" /> 
 
     </activity> 
 
     <activity 
 
      android:name="com.w3nuts.rsvp.main.SearchResultActivity" 
 
      android:label="@string/title_activity_search_result" > 
 
      <intent-filter> 
 
       <action android:name="android.intent.action.SEARCH" /> 
 

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

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

+0

спасибо, я проголосую – Aditya

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