user3680244
user3680244

Reputation:

How to display icons in actionbar and how to handle click events

Trying to add actionar icons to actionbar and i'm using support library here is link i'm following developerspage

and here is my code to implement it

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (item != null && item.getItemId() == R.id.toggle) {
        if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
            mDrawerLayout.closeDrawer(Gravity.RIGHT);
        } else {
            mDrawerLayout.openDrawer(Gravity.RIGHT);
        }
    }
    return true;

}

and menu.xml is

<?xml version="1.0" encoding="utf-8"?>

<item
    android:id="@+id/toggle"
    android:icon="@drawable/menu"
    android:orderInCategory="100"
    android:title="menutoggle"/>

Upvotes: 0

Views: 97

Answers (1)

Rosie
Rosie

Reputation: 94

In your xml, you can include this in each item you want to be clickable:

android:onClick="aRandomMethod"

Then in your activity, you must implement a method that supports the click, in this case, a method called aRandomMethod, like this:

public void aRandomMethod(MenuItem item){
        /// stuff to do when you click in the button
}

If you want your icon to be always displayed in the action bar, add:

 android:showAsAction="always"

The onOptionsItemSelected method that you have in your code is when you have the settings icon (three small dots) and then a submenu in the icon; is to handle the submenu.

Upvotes: 1

Related Questions