ユーザーがシークバーをドラッグしたときに、自分のアプリの背景色を変更しようとしています。findViewById(R.id.screen)がnullを返す
私は次のリンク査読している:私はOnSeekBarChangeListener()
のコードを次しているSet Background color programmatically
を:
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
View someView = findViewById(R.id.screen);
View root = someView.getRootView();
root.setBackgroundColor(Color.argb(255, r[progress], g[progress], b[progress]));
}
それは、次のクラッシュにつながる:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' on a null object reference
Mainactivityクラス:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRandomcolors();
setbuttonclicklistener();
seebar();
}
を
OnSeekBarChangeListener()
から呼び出されます。seebar()
あなたの画面は同じレイアウトですか? – KDeogharkar
あなたはIDが 'screen'であるビューを持っていません –
@KDeogharkarどのように私はそれを知っていますか? –