所以我的朋友"帮助"我的计划只是因为他的帮助带来了比实际帮助更多的问题。我以前在我的一个活动中有一个工具栏,而其余的代码工作,如果工具栏存在,程序总是停止。没有任何错误。如何解决这个问题?
代码:
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>
我发布的代码比我在这里发布的代码多得多,但我删除了它,因为除了这部分之外的所有内容都有效。
答案 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将禁用默认操作栏,使用自定义工具栏/操作栏的活动现在不会再崩溃。