首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setSupportActionBar不工作FragmentActivity

setSupportActionBar不工作FragmentActivity
EN

Stack Overflow用户
提问于 2015-11-08 21:10:27
回答 3查看 9.5K关注 0票数 5

我正试图在我的FragmentActivity上创建一个自定义的Toolbar,但当我启动应用程序时,它在这个车道上崩溃了:

setSupportActionBar(toolbar);

我没有更多的代码,因为我开始添加这个Toolbar,所以我在我的MainActivity上有这个

代码语言:javascript
复制
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.Toolbar;



public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar); //LogCat is pointing this
    }
}

我的Toolbar代码是:

代码语言:javascript
复制
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:iosched="http://schemas.android.com/apk/res-auto"
    style="@style/HeaderBar"
    iosched:theme="@style/ActionBarThemeOverlay"
    iosched:popupTheme="@style/ActionBarPopupThemeOverlay"
    android:id="@+id/toolbar_actionbar"
    iosched:titleTextAppearance="@style/ActionBar.TitleText"
    iosched:contentInsetStart="?actionBarInsetStart"
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize" />

我哪里做错了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-08 21:12:02

我做错了什么?

您正在扩展FragmentActivity,这就是问题所在……

您应该将其更改为AppCompatActivity

您的MainActivity应该如下所示:public class MainActivity extends AppCompatActivity

另外,别忘了导入它的库:

代码语言:javascript
复制
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
票数 9
EN

Stack Overflow用户

发布于 2015-11-08 21:12:43

您需要扩展AppcompatActivity:

代码语言:javascript
复制
MainActivity extends AppcompatActivity
票数 0
EN

Stack Overflow用户

发布于 2018-03-20 01:34:40

我知道这有点晚了,但是为了那些真正想使用FragmentActivity的人,你可以添加如下内容:

代码语言:javascript
复制
((AppCompatActivity)getApplicationContext()).setSupportActionBar(toolbar);

对于片段:

代码语言:javascript
复制
((AppCompatActivity)getActivity).setSupportActionBar(toolbar);

希望这就是你正在寻找的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33594340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档