gpt4 book ai didi

java - 当从静态方法调用 Activity 时,Android 4 中的工具栏样式会发生变化

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:44 24 4
gpt4 key购买 nike

在应用程序中发现一个奇怪的问题。

工具栏样式仅针对整个应用程序中的一项 Activity 自行更改,并且仅适用于低于 5.0 Android 版本的设备。

enter image description here

enter image description here

enter image description here

所有屏幕都有相同的 <include>工具栏的字段。样式发生变化的 Activity 都通过静态方法进行膨胀:

public static void startAsRecent(Context context, TransferTemplate template) {
Intent starter = new Intent(context, TransferAnotherAccountActivity.class);
starter.putExtra(TransferCommonActivity.EXTRA_KEY_TEMPLATE, template);
starter.putExtra(TransferCommonActivity.EXTRA_KEY_IS_RECENT, true);
context.startActivity(starter);
}

奇怪的是,它在 Android 版本 5.0 以下的设备上也能正常运行邮件。

这种行为的原因可能是什么?到哪里去解决这个问题?

提前致谢!

最佳答案

好吧,问题出在继承上。

继承Activity的

onCreate()方法,问题出在哪里,先调用setContentView(),然后调用super.OnCreate()。仍然不明白,为什么这仅影响 Lollipop 之前的设备,但临时解决方案是在父类(super class)中制作类似的东西。

 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getContentViewId());
//other stuff

}

@LayoutRes
public abstract int getContentViewId();

关于java - 当从静态方法调用 Activity 时,Android 4 中的工具栏样式会发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41121486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com