どのように与えられた活動パラメータと静的メソッドでスーパークラスを使用するには?

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:

動的にあなたは、単に呼び出す必要がテーマの切り替えsetThemesuper.onCreate

public void onCreate(Bundle savedInstanceState) {
    setTheme(android.R.style.Theme);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=118347&siteId=1