android工具栏不再有效

时间:2015-05-09 21:25:01

标签: java android toolbar

所以我的朋友"帮助"我的计划只是因为他的帮助带来了比实际帮助更多的问题。我以前在我的一个活动中有一个工具栏,而其余的代码工作,如果工具栏存在,程序总是停止。没有任何错误。如何解决这个问题?

代码:

import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;

public class ProjectCreateScreen extends ActionBarActivity {

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

    Toolbar toolbar = (Toolbar) findViewById(R.id.AwesomeBar);
    setSupportActionBar(toolbar);

    }
}

xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/rl">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="?android:attr/actionBarSize"
        android:id="@+id/AwesomeBar"
        android:background="@color/custom_white">
    </android.support.v7.widget.Toolbar>

</RelativeLayout>

我发布的代码比我在这里发布的代码多得多,但我删除了它,因为除了这部分之外的所有内容都有效。

1 个答案:

答案 0 :(得分:0)

如果错误与您在上面评论的错误相同:

  

引起:java.lang.IllegalStateException:此Activity已经有一个由窗口装饰提供的操作栏。请勿在主题中请求Window.FEATURE_ACTION_BAR并将windowActionBar设置为false以使用工具栏

这意味着您不会禁用活动及其主题提供的Android默认操作栏。进入styles.xml文件和您正在使用的主题(如果所有活动使用相同的主题,则应用程序正在使用)并执行以下操作(示例):

<style name="AppThemeToolbar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowActionBar">false</item>
     ...
     ...
</style>

android:windowActionBar 设置为false将禁用默认操作栏,使用自定义工具栏/操作栏的活动现在不会再崩溃。