Подтвердить что ты не робот

Android: Как вы переходите к другому действию при нажатии?

Я пытаюсь перейти к третьему действию в последовательности. Переход от основного действия ко второму работает отлично, но когда я пытаюсь перейти к третьему действию со второго, я сбой приложения.

Здесь мой код для второго действия:

package com.example.helloandroid;

import android.app.Activity;
//other imports here

public class Game extends Activity implements OnClickListener {

    private static final String TAG = "Matrix";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.matrix);
        View doneButton = findViewById(R.id.done_button);
        doneButton.setOnClickListener(this);
    }

    public void onClick(View v) { 
        switch (v.getId()) { 
            case R.id.done_button:
                Intent k = new Intent(this, GameTwo.class);
                startActivity(k);
                //finish();
                break;
        }
    }
}

И код для третьего действия:

package com.example.helloandroid;

import android.app.Activity;
//other imports here

public class GameTwo extends Activity {

   private static final String TAG = "Matrix";

   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       this.setContentView(R.layout.matrixtwo);
       View donetwoButton = findViewById(R.id.donetwo_button);
   }
}
4b9b3361

Ответ 1

Попробуйте выполнить следующий код в switch:

try {
    Intent k = new Intent(Game.this, GameTwo.class);
    startActivity(k);
} catch(Exception e) {
    e.printStackTrace();
}

Скажи мне, что это полезно.....

Ответ 2

Intent k = new Intent(Game.this, GameTwo.class);
startActivity(k);

Это работает, но вы также должны убедиться, что вы указали это в своем манифесте.

Ответ 3

Обязательно, чтобы три действия были объявлены в манифесте. Является общей ошибкой для создания Activity и не объявлять его.

Вызовите новое действие, используя:

Intent k = new Intent(Game.this, GameTwo.class);
startActivity(k);

Ответ 4

Это длинный снимок, но... Ваша проблема также может быть вызвана NullPointerException
который вызывается, если donetwo_button не объявлен в matrixtwo.xml...
(Ошибки копирования-вставки довольно распространены)

Ответ 5

Попробуйте это

Intent intent = new Intent(getApplicationContext(), GameTwo.class);
startActivity(intent);