setSupportActionBar 不工作 FragmentActivity
setSupportActionBar not working FragmentActivity
我正在尝试在我的 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" />
我做错了什么?
What I'm doing wrong?
您正在扩展 FragmentActivity
,这就是问题所在....
你应该把它改成AppCompatActivity
您的 MainActivity
应如下所示:public class MainActivity extends AppCompatActivity
另外不要忘记导入它的库:
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
您需要扩展 AppcompatActivity:
MainActivity extends AppcompatActivity
我知道这有点晚了,但是为了那些真正想使用 FragmentActivity 的人,您可以添加如下内容:
((AppCompatActivity)getApplicationContext()).setSupportActionBar(toolbar);
片段:
((AppCompatActivity)getActivity).setSupportActionBar(toolbar);
希望这就是您要找的答案。
我正在尝试在我的 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" />
我做错了什么?
What I'm doing wrong?
您正在扩展 FragmentActivity
,这就是问题所在....
你应该把它改成AppCompatActivity
您的 MainActivity
应如下所示:public class MainActivity extends AppCompatActivity
另外不要忘记导入它的库:
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
您需要扩展 AppcompatActivity:
MainActivity extends AppcompatActivity
我知道这有点晚了,但是为了那些真正想使用 FragmentActivity 的人,您可以添加如下内容:
((AppCompatActivity)getApplicationContext()).setSupportActionBar(toolbar);
片段:
((AppCompatActivity)getActivity).setSupportActionBar(toolbar);
希望这就是您要找的答案。