我就像在一个恶性循环中。我正在尝试在我的应用程序中实现 MVVM 模式,但要以下一种方式实例化 ViewModel:
ViewModel loginViewModel = new ViewModelProvider(this).get(LoginViewModel.class);
有必要扩展 AppCompat,但是当我在 BaseActivity 类中扩展 AppCompatActivity 时,我得到一个类型的异常:
"You need to use a Theme.AppCompat theme (or descendant) with this activity"
问题是我不能在清单中使用 AppCompat 主题,因为我已经在使用
android:theme="@style/Theme.myTheme.TitleBar"
标题栏:
<resources>
<!--parent="@style/Theme.AppCompat"-->
<style name="Theme.myTheme.TitleBar" parent="android:Theme">
<item name="android:windowTitleSize">50dip</item>
</style>
</resources>
然后我在代码中配置 ActionBar,然后在 BaseActivity 中配置:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
所以我不知道如何将扩展 AppCompatActivity 与自定义标题功能结合起来。
编辑1:回复@CommonsWare
如果我设置
android:theme="@style/Theme.AppCompat.NoActionBar"
在我的清单文件中,然后我得到下一个异常:
"You cannot combine custom titles with other title features"
应用程序启动后,在创建抽屉菜单容器的下一段代码的第一行中:
// HACK: "steal" the first child of decor view
ViewGroup decor = (ViewGroup) ((Activity)context).getWindow().getDecorView();
View child = decor.getChildAt(0);
decor.removeView(child);
FrameLayout container = drawer.findViewById(R.id.container); // This is the container we defined just now.
container.addView(child);
所以我想还没有运气:(