选项按钮未显示在操作栏Android中

时间:2014-10-09 12:49:54

标签: android android-activity android-menu

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

    <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语句中。 我把它放入其中,所以我知道如果声明

它永远不会出现
  @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);
 }

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

1 个答案:

答案 0 :(得分:0)

好:

第一期

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

第二期

如果我正确地遵循了您的代码,则商品ID为item_back而非R.id.home ...

HTH!