【问题标题】:Option button not showing in action bar Android选项按钮未显示在操作栏中 Android
【发布时间】:2014-10-09 12:49:54
【问题描述】:

我正在尝试添加操作按钮,但它们没有显示在操作栏中,它们在单击硬件菜单按钮时显示在按钮处。而且向上按钮也不起作用。 我正在分享我的代码,告诉我哪里错了 这是我的清单文件:

    <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
       >
        <!-- Parent activity meta-data to support API level 7+ -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name=".secindActivity"
        android:label="Items"
        android:parentActivityName=".MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity" />
    </activity>

</application> 

我在第二个活动中添加向上按钮,。它显示但不工作。 并且还尝试在 secondActivity 中添加操作栏按钮。菜单文件如下:

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

     <menu xmlns:Digicare="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
 <item
    android:id="@+id/item_back"
    android:icon="@drawable/home2"
    Digicare:showAsAction="ifRoom"
    android:title="Home">

</item>
</menu>

这是我的 secondActivity 的 java 文件:

它永远不会出现在 if 语句中。 我输入了日志,所以我知道它永远不会出现在 if 语句中

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      if  ( item.getItemId() == R.id.home){
          Log.w("asdfasdfasdf","asdfasdf");
          Intent upIntent = NavUtils.getParentActivityIntent(this);
          NavUtils.navigateUpTo(this, upIntent);
      }
      return super.onOptionsItemSelected(item);
  }

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater Mymenu = getMenuInflater();
    Mymenu.inflate(R.menu.item_menu,menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.items);


    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
 }

这些都是问题。 这个怎么办???

【问题讨论】:

标签: android android-activity android-menu


【解决方案1】:

第一期

这是this 问题的副本。我认为它不会显示因为您的设备上有一个选项按钮。 请参阅this post 关于在反射中修改此行为(但是,我不确定我是否会推荐它,因为人们对其设备的行为有期望)。

第二期

如果我正确地遵循了您的代码,那么项目 ID 是 item_back 而不是 R.id.home...

【讨论】:

    猜你喜欢
    • 2018-07-16
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    相关资源
    最近更新 更多