我正在尝试创建静态类ActivitySetup,它用于为我的活动设置语言、主题等。我在设置主题方面有问题。现在我有以下代码:
static void configureTheme(Activity activity, int defaultTheme) {
String theme = PreferenceManager.getDefaultSharedPreferences(activity).getString("theme", "light");
assert theme != null;
switch (theme) {
case "light":
activity.setTheme(R.style.AppTheme);
break;
case "dark":
activity.setTheme(R.style.Theme_AppCompat);
break;
default:
activity.setTheme(defaultTheme);
break;
}
}
但它会崩溃。我知道我应该使用super(activity的).setTheme
而不是activity.setTheme
,但是我怎么做呢?如何将超类实例作为参数传递给静态方法?
在主题之间动态切换您只需在super.oncreate
之前调用settheme
public void onCreate(Bundle savedInstanceState) {
setTheme(android.R.style.Theme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
我有一个名为的超级类,我有3个子类,分别是,和。 在每个子类中,我都有私有参数,和。 我想在 类中创建一个名为 的方法,该方法从 中删除 1 并将 10 添加到中,以便我可以在 main 方法中调用它们时将该方法应用于所有子类。但是如何将私有参数从子类获取到超类中呢? 我不能在超类中声明它们,因为每个子类都有自己的默认启动参数,这些参数应该在游戏期间进行。
假设我有一个类,定义如下: 我想写一个函数比较两个圆并返回最小的一个的id 我想将此方法作为静态方法放置在类上。(这是个坏主意吗?) 但是,这不起作用,因为对象不可用于类型提示。我必须删除方法中的类型提示。使用也不起作用,因为参数对其他方法参数不可用。
我目前正在处理一个三角形相关的对象类,我的静态方法遇到了麻烦。 对于家庭作业,我的教授特别想要这个
所以,简而言之。我有两节课。 它不断地抛出错误“不能对非静态方法gameStart()进行静态引用”。我肯定我错过了一些简单的东西,但找不到了。谢了!
我有:MyFile.java: 我的应用程序中的代码: 如何连接此文件?(从Qt(c)代码运行静态方法)
有没有方法用子类的静态成员类参数化超类? exampleSuperClass.java: 编译失败,错误为: 或者与: 成员不能解析为类型 如果用另一个包保护的顶级类来参数化ExampleSubClass,它工作得很好(也就是没有错误)。 这背后的驱动力是我有一个泛型超类和许多不同的和对。但是由于只被引用,最好是: 限制的访问,使其成为静态成员类和 通过不给自己的文件来减少文件数。 那么,在参数化