2015-10-13 9 views
0

Я пытаюсь добавить значок переполнения (три точки) в качестве actionview (для анимации). Однако значок прослушивания кликов для переполнения не работает. Я хочу показать переполнение при нажатии на actionview.Значок переполнения Android action

Edit:

Следующий пример кода я использую:

Github

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.fragment_chatlist, menu); 
} 

@Override 
public void onPrepareOptionsMenu(Menu menu) { 
    super.onPrepareOptionsMenu(menu); 
    inboxMenuItem = menu.findItem(R.id.menu_search); 
    inboxMenuItem.setActionView(R.layout.menu_item_chatlist); 
    settingsMenuItem = menu.findItem(R.id.mainMenu); 
    settingsMenuItem.setActionView(R.layout.menu_item_settings); 
    if (null != animationWatcher && animationWatcher.getPendingAnimation() == true) { 
     animationWatcher.upatePendingAnimation(false); 
     startIntroAnimation(); 
    } 
    SearchView searchView = (SearchView) inboxMenuItem.getActionView(); 
    searchView.setOnSearchClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      ((ChatListActivity) getActivity()).setLogoVisibility(false); 
     } 
    }); 

    searchView.setOnCloseListener(new SearchView.OnCloseListener() { 
     @Override 
     public boolean onClose() { 
      ((ChatListActivity) getActivity()).setLogoVisibility(true); 
      return false; 
     } 
    }); 

    settingsMenuItem.getActionView().setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      ChatList.this.onOptionsItemSelected(settingsMenuItem); 
      ((ChatListActivity) (getActivity())).toolbar.showOverflowMenu(); 
      ((ChatListActivity) (getActivity())).openOptionsMenu(); 
     } 
    }); 
} 

For Menu

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 
    <item 
     android:id="@+id/menu_search" 
     app:showAsAction="always" 
     android:title="@string/search" 
     /> 


    <item 
     android:id="@+id/mainMenu" 
     android:title="Text" 
     android:orderInCategory="101" 
     app:showAsAction="always"> 
     <menu> 

      <item 
       android:id="@+id/menu_tag" 
       android:icon="@drawable/tag_icon" 
       app:showAsAction="always|withText" 
       android:title="Tags"/> 
      <item 
       android:id="@+id/menu_profile" 
       android:icon="@drawable/profile_image_50" 
       app:showAsAction="always|withText" 
       android:title="Profile"/> 
     </menu> 
    </item> 

</menu> 

ActionView является SearchView и ImageButton соответственно.

Дело в том, я хочу открыть ActionView

+0

поделиться кодом, что вы сделали – Pavan

+0

показать коды, в которых вы внедрили прослушиватель кликов для вашего значка переполнения. – Ranjit

+0

Общий код. – user2223032

ответ

0

Зафиксировано хака. Установите actionview в null после завершения анимации.