Android Studio:したがって、この「ストリームページメイン」アクティビティのボタンをクリックして、メインアクティビティではないアクティブなアクティビティ「ストリームページメイン」の背景画像を変更しようとしています。これは 1 行のコードである必要がありますが、何を試しても 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);
}
}
これら 3 つのオプションすべてで、同じ例外が発生します。xml の私の制約レイアウトの ID は constraintLayout で、ボタン onclick は changeBackgroundOfStreamPage() メソッドをトリガーするように設定されています - タイプミスはありません。メソッドの名前をコピーしました。
コード内に Android Studio からのコメントはありません。私はそれがconstraintLayout /アクティビティをターゲットにすることに関係していると思いますが、なぜ「これ」なのかわかりません。トリックをしません...
これは例外です:
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)