Android Studio java.lang.IllegalStateException: Could not find method maingo(View) in a parent or ancestor Context
Почему при нажатии на кнопку возникает ошибка
2021-11-23 21:17:23.597 9450-9450/com.kingleystudio.easypython E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.kingleystudio.easypython, PID: 9450
java.lang.IllegalStateException: Could not find method maingo(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'lesson1btn2'
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:424)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:381)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24770)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
При том что в MainActivity это работало, а здесь не хочет.
lesson1.java
package com.kingleystudio.easypython;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class lesson1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lesson1);
}
public void lesson5go(View view) {
}
public void maingo(View view) {
// Do something in response to button click
}
}
activity_lesson1.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00109F"
tools:context=".lesson1">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/lesson1title"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:fontFamily="@font/rubik_mono_one"
android:text="Урок 1. Установка python на windows"
android:gravity="center"
android:paddingTop="10dp"
android:textColor="#FFFFFF"
android:textSize="27sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/lesson1text"
android:layout_width="wrap_content"
android:layout_height="800dp"
android:autoLink="web"
android:fontFamily="sans-serif-thin"
android:text="Текст"
android:textColor="#FFFFFF"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<Button
android:id="@+id/lesson1btn"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:background="#ff4dbb"
android:fontFamily="@font/rubik_mono_one"
android:gravity="center"
android:onClick="lesson5go"
android:text="Далее"
android:textColor="#FFFFFF"
android:textSize="27sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<Button
android:id="@+id/lesson1btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff4dbb"
android:fontFamily="@font/rubik_mono_one"
android:layout_marginTop="5dp"
android:textColor="#FFFFFF"
android:onClick="maingo"
android:text="Назад" />
</LinearLayout>
</ScrollView>
</android.support.constraint.ConstraintLayout>
Ответы (1 шт):
Автор решения: Eva Evakuator
→ Ссылка
Для начала объявите кнопку в вашем классе!
Button lesson1btn;
В onCreate
lesson1btn = findViewById(R.id.lesson1btn);
Дальше у вас кнопка
<Button
android:id="@+id/lesson1btn"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:background="#ff4dbb"
android:fontFamily="@font/rubik_mono_one"
android:gravity="center"
android:onClick="lesson5go"
android:text="Далее"
android:textColor="#FFFFFF"
android:textSize="27sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
при нажатие на неё у вас срабатывает метод public void lesson5go в вашем примере он пустой, вам нужно указать что должно происходить при нажатие на кнопку
К примеру обработчик открывает новую активность
public void lesson5go(View view) {
startActivity(new Intent(this, PolicyActivity.class));
finish();
}