hyperapps19:
私は `mは私の活動のためなど、設定された言語、テーマに使用される静的クラス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 (of activity).setTheme
の代わりにactivity.setTheme
、しかし、私はそれをどのように行うことができますか?静的メソッドにパラメータとしてスーパークラスのインスタンスを渡す方法は?
Yagnesh Lashkari:
動的にあなたは、単に呼び出す必要がテーマの切り替えsetTheme
前super.onCreate
public void onCreate(Bundle savedInstanceState) {
setTheme(android.R.style.Theme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}