環境設定のチェックボックスがチェックされている場合は背景をドローアブルに変更し、チェックボックスがチェックされていない場合は白くする小さなコードを作成しました。コードは MainActivity では正常に動作しますが、別のアクティビティ (LinksActivity) で NullPointerException が発生します。誰かがこれについて私を修正できますか?
package nl.plplpl.ccs;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.widget.LinearLayout;
public class LinksActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
@Override
protected void onResume() {
LinearLayout linkslayout = (LinearLayout) findViewById(R.id.linkslayout);
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
Boolean bg = prefs.getBoolean("background", false);
if (bg){
if (Build.VERSION.SDK_INT >= 16)
linkslayout.setBackground(getResources().getDrawable(R.drawable.background));
else
linkslayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
} else {
linkslayout.setBackgroundResource(R.color.white);
}
super.onResume();
}
}