actionbar menu item onclick?

后端 未结 2 1378
傲寒
傲寒 2020-12-31 09:45

I have an action bar that puts everything in a menu in the top right, which the user clicks and the menu options open up.

I inflate the action bar menu with this on

相关标签:
2条回答
  • 2020-12-31 10:10

    In my opinion

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        add_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onCreateDialog(getTaskId());
            }
        });
    }
    
    
    <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=".MainActivity">
    <item android:id="@+id/action_settings" android:title="@string/action_settings"
        android:orderInCategory="100" app:showAsAction="never" />
    <item android:id="@+id/add_text_id" android:title="Add"
        android:icon="@drawable/ic_add_btn"
        android:orderInCategory="100" app:showAsAction="ifRoom" />
    

    0 讨论(0)
  • 2020-12-31 10:13

    If you add an onClick attribute on your menu item like this:

    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <item
            android:id="@+id/action_searchHome"
            android:orderInCategory="100"
            android:showAsAction="never"
            android:onClick="doThis"
            android:title="Seach"/>
    
    
    
    </menu>
    

    Then in your activity:

    public void doThis(MenuItem item){
        Toast.makeText(this, "Hello World", Toast.LENGTH_LONG).show();
    }
    

    Note:

    ActionBarSherlock is deprecated. Unless you are developing an app for Android 4.0 or older, please don't use it. But if you are using the library, you will have to import

    import com.actionbarsherlock.view.MenuItem;

    and not

    import com.android.view.MenuItem;

    In addition, you could do something like this: ActionBar Sherlock Menu Item OnClick

    which @adneal mentions.

    0 讨论(0)
提交回复
热议问题