ActionBar上的操作未显示

时间:2014-09-26 18:47:41

标签: android android-actionbar

昨天我在更换片段方面遇到了问题,因此我必须更改MainActivity以扩展Acivity而不是ActionBarActivity,以避免兼容性问题。问题是,在我完成之后,动作栏项目消失了。我尝试了关于如何设置它的机器人官方教程,而不使用支持库,但没有用。这就是我所拥有的:

MainActivity

public class MainActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    getFragmentManager().beginTransaction().add(R.id.frag_container, new MainMenuFragment()).commit();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_activity_actions, menu);
    return true;};
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
}

正如您所看到的,我正在实现所需的方法,以便使用按钮填充操作栏。这是我的菜单的XML文件:

<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="com.example.pszczyna.MainActivity" >

<item
    android:id="@+id/action_settings"
    android:icon="@drawable/ic_action_settings"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="ifRoom"/>

</menu>

清单是:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jam.pszczyna"
android:versionCode="1"
android:versionName="1.0.0" >
<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="20" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.jam.pszczyna.MainActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

这是此工作所需的最低SDK版本。对我来说,一切看起来都应该是,它有什么不对吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.pszczyna.MainActivity" >

<item
    android:id="@+id/action_settings"
    android:icon="@drawable/ic_action_settings"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    android:showAsAction="always"/>

</menu>

并在您的清单中删除android:theme="@style/Theme.AppCompat"并放置自己的风格。