当用户拖动搜索栏时,我正在尝试更改应用的背景颜色。
我已经关注了以下链接:Set Background color programmatically
我在OnSeekBarChangeListener()
中有以下代码:
@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
主要活动类:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRandomcolors();
setbuttonclicklistener();
seebar();
}
从OnSeekBarChangeListener()
调用 seebar()
答案 0 :(得分:2)
您将someView视为null。所以它给出了空指针异常。
尝试更改,
View someView = findViewById(R.id.screen);
到
View someView = (View)findViewById(R.id.screen);
您可以发布完整的xml代码。