前提・実現したいこと
PreferenceFragmentCompatにてダークテーマとsetBackgroundColorを同時に行うとアプリが落ちてしまいます。
発生している問題・エラーメッセージ
Caused by: android.view.InflateException: Binary XML file line #23: Binary XML file line #23: Error inflating class fragment Caused by: android.view.InflateException: Binary XML file line #23: Error inflating class fragment Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setBackgroundColor(int)' on a null object reference
該当のソースコード
java
1 @Override 2 public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { 3 addPreferencesFromResource(R.xml.preferences); 4 a(); 5 } 6 7 8 public void a(){ 9 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); 10 Toolbar toolbar = getActivity().findViewById(R.id.toolbar); 11 toolbar.setBackgroundColor(Color.parseColor("#000000")); 12 }
xml
1<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto" 2 xmlns:android="http://schemas.android.com/apk/res/android"> 3 4 <Preference 5 app:layout="@layout/toolbar_1" /> 6 7</PreferenceScreen>
試したこと
PreferenceFragmentCompat以外のクラスで試したところアプリは落ちなかったので多分Toolbarの参照方法、もしくは配置方法が原因なのかなと思っています。参照方法についても調べ試してみましたが同じようにアプリが落ちたりし、実行できませんでした