【问题标题】:How to use Setting's in overflow Icon如何在溢出图标中使用设置
【发布时间】:2015-09-21 04:00:01
【问题描述】:

我尝试了我的最佳水平,但我找不到它。我在导航抽屉活动中工作,当我点击它时,我可以在右上角看到一个溢出图标,当我点击它时会弹出一个设置按钮(设置) 什么都没发生

我不知道如何为此设置一个 XML,以便在单击它时打开一个新的活动

我知道要创建一个 xml 并为按钮分配一个 onClickListner,但我无法继续进行,因为当按下该按钮(溢出图标中的设置按钮)时我没有在哪里调用设置活动

【问题讨论】:

    标签: android android-fragments android-studio navigation-drawer


    【解决方案1】:

    试试这个 -

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == R.id.action_settings) {
            Intent intent = new Intent(this, YourSettingfActivity.class);
            startActivity(intent);
        }
        return super.onOptionsItemSelected(item);
    }
    

    menu_main.xml -

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          tools:context=".MainActivity">
    
        <item android:id="@+id/action_settings"
              android:title="@string/action_settings"
              android:orderInCategory="100"
              android:showAsAction="never"/>
    </menu>
    

    【讨论】:

    • 代码简单易行,满足了我的需要,它就像一个魅力:) @Varundroid
    【解决方案2】:

    您可以在活动中使用找到以下这些方法,然后您可以在其中扩展菜单并满足您的需求

    菜单xml文件

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          >
    
        <item android:id="@+id/action_settings"
              android:title="@string/action_settings"
              android:orderInCategory="100"
              android:showAsAction="never"/>
         <item android:id="@+id/action_search"
              android:title="@string/action_settings"
              android:orderInCategory="100"
              android:showAsAction="never"/>
         <item android:id="@+id/action_logout"
              android:title="@string/action_settings"
              android:orderInCategory="100"
              android:showAsAction="never"/>
    
    </menu>
    

    你必须在你的活动中编写如下代码

    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
         public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
            case R.id.action_settings:
              Toast.makeText(this, "Settings", Toast.LENGTH_SHORT).show();
              return true;
            case R.id.item2:
              Toast.makeText(this, "Search", Toast.LENGTH_SHORT).show();
              return true;
            case R.id.action_search:
              Toast.makeText(this, "Logout", Toast.LENGTH_SHORT).show();
              return true;           
    
            default:
              return super.onOptionsItemSelected(item);
            } 
        } 
    

    【讨论】:

    • 感谢您提供额外的细节和想法。:)
    猜你喜欢
    • 1970-01-01
    • 2021-04-02
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多