java - findViewById(R.id.screen) 返回 null

标签 java android android-studio view seekbar

当用户拖动搜索栏时,我试图更改应用程序的背景颜色。

我引用了以下链接: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

主要 Activity 类别:

  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setRandomcolors();
        setbuttonclicklistener();
        seebar();
    }

OnSeekBarChangeListener() 是从 seebar()

调用的

最佳答案

您得到的 someView 为 null。所以它给出了空指针异常。

尝试改变,

 View someView = findViewById(R.id.screen);

 View someView = (View)findViewById(R.id.screen);

您可以发布完整的 xml 代码吗?

关于java - findViewById(R.id.screen) 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37362274/

相关文章:

java - 我想使用 spring3.0 和 java 创建一个 web 应用程序

java - 为什么我将 ArrayList 转换为 Integer[] 是错误的?

android - 找不到库项目 Activity 错误

java - 如何修复 XML 中阻止显示预览或在 Android Studio 上运行应用程序的错误(红色文本)?

java - 寻找复杂项目集合的最佳组合?

java - 找不到 apache commons 类 - 添加 jar 后

Java反射: create new instance of interface give java. lang.ClassCastException

java - 如何判断View状态是否正在恢复

Android 应用程序未安装在设备上?

android-studio - Android Studio 代理设置