我正试图在我的FragmentActivity上创建一个自定义的Toolbar,但当我启动应用程序时,它在这个车道上崩溃了:
setSupportActionBar(toolbar);
我没有更多的代码,因为我开始添加这个Toolbar,所以我在我的MainActivity上有这个
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代码是:
<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" />我哪里做错了?
发布于 2015-11-08 21:12:02
我做错了什么?
您正在扩展FragmentActivity,这就是问题所在……
您应该将其更改为AppCompatActivity
您的MainActivity应该如下所示:public class MainActivity extends AppCompatActivity
另外,别忘了导入它的库:
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;发布于 2015-11-08 21:12:43
您需要扩展AppcompatActivity:
MainActivity extends AppcompatActivity发布于 2018-03-20 01:34:40
我知道这有点晚了,但是为了那些真正想使用FragmentActivity的人,你可以添加如下内容:
((AppCompatActivity)getApplicationContext()).setSupportActionBar(toolbar);对于片段:
((AppCompatActivity)getActivity).setSupportActionBar(toolbar);希望这就是你正在寻找的答案。
https://stackoverflow.com/questions/33594340
复制相似问题