2015-05-09 122 views
0

所以我的朋友“帮助”我的程序有点只是他的帮助带来了比实际帮助更多的问题。我以前在我的一个活动中有一个工具栏,而其余的代码工作,如果工具栏存在,程序总是停止。什么都不要错。如何解决这个问题?安卓工具栏不再工作

代码:

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

你可以发布Logcat输出吗?我没有看到代码的任何问题,因为...你说没有发生错误,但是应用程序不会在没有说明导致崩溃的原因的情况下崩溃。也许你发布gradle依赖关系?或者代码中任何地方的工具栏的用法 –

+0

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

回答

0

如果错误是因为你在上面说:

致:java.lang.IllegalStateException:本次活动已经由窗口装饰提供一个操作栏。不要求Window.FEATURE_ACTION_BAR并设置windowActionBar为false在主题使用工具栏,而不是

这意味着你没有禁用该活动提供Android的默认操作栏,它的主题。进入您的styles.xml文件和主题活动你使用(或者,如果所有活动都使用同一主题的应用程序使用),然后执行以下(举例):

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

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

+0

做到了,但仍然停止:( – Richard

+0

链接您正在使用的主题,并尝试通过让主题的父母为我编辑..我提供了一个带有动作栏的主题的示例。创建一个新主题并设置主题在AndroidManifest中,或者扩展当前主题为您的活动,让它的父母与NoActionbar结尾(光与黑暗)在我看到回答。 –

+0

设置它为.NoActionBar帮助谢谢:) – Richard