我尝试在Toolbar
上创建自定义FragmentActivity
,但在我启动该应用时,它会在此频道崩溃:
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" />
我做错了什么?
答案 0 :(得分:9)
我做错了什么?
您正在扩展FragmentActivity
,这就是问题....
您应该将其更改为AppCompatActivity
您的MainActivity
应如下所示:public class MainActivity extends AppCompatActivity
也不要忘记导入其库:
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
答案 1 :(得分:0)
您需要扩展AppcompatActivity:
MainActivity extends AppcompatActivity
答案 2 :(得分:0)
我知道这已经很晚了,但是为了那些真正想要使用FragmentActivity的人。
您可以添加以下内容:
((AppCompatActivity)getApplicationContext()).setSupportActionBar(toolbar);
for Fragment:
((AppCompatActivity)getActivity).setSupportActionBar(toolbar);
希望这是你寻找的答案。