Java findViewById(R.id.screen)返回null
当用户拖动seekbar时,我正在尝试更改应用程序的背景色 我推荐了以下链接: 我在seekbarchangelistener()的Java findViewById(R.id.screen)返回null,java,android,android-studio,view,seekbar,Java,Android,Android Studio,View,Seekbar,当用户拖动seekbar时,我正在尝试更改应用程序的背景色 我推荐了以下链接: 我在seekbarchangelistener()的中有以下代码: 它会导致以下崩溃: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' on a null object reference 主要活动类别: protected v
中有以下代码:
它会导致以下崩溃:
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();
}
从seebar()
调用onseebarchaneglistener()
您得到的someView为null。所以它给出了空指针异常
试着改变
View someView = findViewById(R.id.screen);
到
您可以发布完整的xml代码。您得到的someView为空。所以它给出了空指针异常
试着改变
View someView = findViewById(R.id.screen);
到
您可以发布完整的xml代码。您的屏幕布局是否相同?您没有ID为的视图screen
@KDeogharkar我怎么知道的?将ID添加到您的布局(activity_main)android:id=“@+id/screen”
您是否尝试过someView=activity.getCurrentFocus().getRootView()?您的屏幕是否在相同的布局中?您没有idscreen
@KDeogharkar的视图我怎么知道?将id添加到您的布局中(activity\u main)android:id=“@+id/screen”
您是否尝试过someView=activity.getCurrentFocus().getRootView()?我认为他是否将null值转换为“View”其实并不重要?可以使用:if(someView!=null),但您可能需要这个:View daddy=(View)(findViewById(R.id.screen)).getParent();我认为他是否将null值转换为“View”并不重要?可以使用:if(someView!=null),但您可能需要:View daddy=(View)(findViewById(R.id.screen)).getParent();
View someView = (View)findViewById(R.id.screen);