Кнопка и активность с Android Studio - PullRequest
0 голосов
/ 31 января 2020

Привет, я новичок в переполнении стека, и мне трудно создать код кнопки, которая открывает действие в Android Studio, кто-нибудь может мне помочь?

import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button b1 = findViewById(R.id.b1); 
    b1.setOnClickListener(new View.OnClickListener(){
    Intent in = new Intent(MainActivity.this, Ristoranti.class);
    MainActivity.this.startActivity(in);
    });


}
}

Где "Ristoranti" Activity2, а b1 - кнопка в activity_main. xml с этим кодом:

<ImageButton
    android:id="@+id/b1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="button title"
    android:layout_marginStart="54dp"
    android:layout_marginTop="118dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@mipmap/ic_launcher_round" />

Android Studio выдаёт мне следующие ошибки:

"ошибка: начиная с выпуска 8, «this» допускается в качестве имени параметра только для типа получателя, который должен быть первым параметром «

» error: Ожидается "

Ответы [ 2 ]

1 голос
/ 31 января 2020

Вам необходимо реализовать метод onClick в интерфейсе OnClickListener

    Button b1 = findViewById(R.id.b1);
    b1.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View view) {
            Intent in = new Intent(SecondActivity.this, MainActivity.class);
            SecondActivity.this.startActivity(in);
        }
    });
0 голосов
/ 31 января 2020

В вашем XML вы используете ImageButton, а в классе занятий вы инициализируете Button вместо ImageButton, поэтому измените свой код, как показано ниже:

ImageButton b1 = findViewById(R.id.b1); 
      b1.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View view) {
            Intent in = new Intent(MainActivity.this, Ristoranti.class);
            startActivity(in);
        }
     });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...