在我的应用程序中,我有一个LoginActivity,我想在登录后将其交换为NavigationDrawerActivity。因此,我更改了LoginActivity的代码,以便Button可以启动NavigationDrawerActivity,它是通过 New> New Activity> NavigationDrawerActivity 进行的。由于我使用的是AndroidX,因此预定义方法中存在一些问题
private ActionBar getActionBar()
{
return getActivity().getActionBar();
}
这需要
androidx.appcompat.app.ActionBar
,但找到android.app.ActionBar
。
我已经通过谷歌搜索了这个问题,有人说我需要从AppCompatActivity
扩展而不是FragmentActivity
,但是该类只是从Fragment
扩展。这就是为什么我不能使用getActivity().getSupportActionBar()
的原因。
我也尝试过像这样getActivity()
将AppCompatActivity
投射到((AppCompatActivity)getActivity()).getSupportActionBar()
,但是这样看起来很奇怪:
但我希望它看起来像这样:
P.S .:其中一些是经过粉刷处理的,并不代表最终的内容。它显示了应用的实际名称
答案 0 :(得分:0)
我发现了问题。
当我将AppTheme从 group group_idx
0 B 2
1 A/D 1
2 D 6
3 D 6
4 A 0
更改为Theme.AppCompat.Light.DarkActionBar
然后创建新的Theme.MaterialComponents.Light.DarkActionBar
时,Android Studio似乎有些混乱。
就像我第一次创建NavigationDrawerActivity
然后更改主题时一样,它可以正常工作。