Android Studio:所以我非常简单地尝试通过单击此“Stream Page Main”活动中的按钮来更改我的活动活动“Stream Page Main”的背景图像,这不是我的主要活动。这应该是一行代码,但是,无论我尝试什么,我都会得到一个 Method not Found Exception。即使我尝试更改背景颜色,它也不起作用。
public class StreamPageMain extends Activity {
public void changeBackgroundOfStreamPage(){
StreamPageMain.this.findViewById(android.R.id.content).setBackgroundResource(R.drawable.streaming_background_grey);
//this.findViewById(android.R.id.content).setBackgroundColor(Color.BLACK);
//ConstraintLayout mConstraintLayout = (ConstraintLayout)findViewById(R.id.constraintLayout);
//mConstraintLayout.setBackgroundResource(R.drawable.streaming_background_grey);
}
}
在所有这三个选项中,我得到相同的异常。我在xml中的约束布局的ID是constraintLayout,并且按钮onclick被设置为触发changeBackgroundOfStreamPage()方法——那里没有错字,我复制了方法的名称。
代码中没有来自android studio的评论。我认为它与定位约束布局/活动有关,但我不明白,为什么是“这个”。没有做的伎俩...
这是一个例外:
05-24 11:28:03.646 5776-5776/comn.example.ezio.streamingapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: comn.example.ezio.streamingapp, PID: 5776
java.lang.IllegalStateException: Could not find a method changeBackgroundOfStreamPage(View) in the activity class comn.example.ezio.streamingapp.StreamPageMain for onClick handler on view class android.widget.Button with id 'button4'
at android.view.View$1.onClick(View.java:4015)
at android.view.View.performClick(View.java:4788)
at android.view.View$PerformClick.run(View.java:19896)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5258)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NoSuchMethodException: changeBackgroundOfStreamPage [class android.view.View]
at java.lang.Class.getMethod(Class.java:661)
at java.lang.Class.getMethod(Class.java:640)
at android.view.View$1.onClick(View.java:4008)
at android.view.View.performClick(View.java:4788)
at android.view.View$PerformClick.run(View.java:19896)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5258)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)