MainActivity не является классом включения, «this» делает ошибку конструктора - PullRequest
0 голосов
/ 02 февраля 2020

Я новичок в android studio, и у меня возникает проблема, когда я пытаюсь перейти к новому занятию, поэтому, когда появляется строка:

public class signup_activity extends AppCompatActivity {

ImageButton logupButton;

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

    logupButton = findViewById(R.id.signuparrow);

    logupButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, signup_activity.class);
            startActivity(intent);
        }
    });

}}

Я получаю ошибку:

'com.example.myapplication.MainActivity' не является включающим классом

, и поэтому несколько человек советуют изменить намерение вместо этого вместо MainActivity. это, но когда я перехожу на это, я получаю ошибку:

Не удается разрешить конструктор 'намерение'

Ответы [ 2 ]

1 голос
/ 02 февраля 2020

вы находитесь в signup_activity и при использовании Intent в первой части вы должны вызывать текущий контекст, чтобы перейти к другой деятельности. поэтому вы должны заменить

Intent intent = new Intent (signup_activity.this, MainActivity.class);

, если вы хотите перейти к signup_activity, вы можете вызвать намерение из MainActivity .

1 голос
/ 02 февраля 2020
          Intent intent = new Intent(MainActivity.this, signup_activity.class);

Несколько вещей:

  • Во-первых, первый параметр конструктора Intent() является контекстом. Поскольку вы используете signup_activity, вам нужно сделать signup_activity.this, чтобы использовать его в качестве контекста.
  • Я бы предположил, что вы хотите go для MainActivity, поэтому ваш второй параметр должен быть MainActivity.class. Кажется, вы изменили порядок там.
...