Android:如何在点击时进入另一个活动?

cdmah0mi  于 2023-03-11  发布在  Android
关注(0)|答案(6)|浏览(137)

我正尝试移动到序列中的第三个Activity。从主Activity移动到第二个Activity可以正常工作,但当我尝试从第二个Activity移动到第三个Activity时,应用程序崩溃。
下面是第二个活动的代码:

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);
   }
}
n9vozmp4

n9vozmp41#

switch中尝试以下代码:

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

告诉我这是否有帮助.....

iih3973s

iih3973s2#

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

这是可行的,但是您还需要确保在清单中指定这一点。

7gs2gvoe

7gs2gvoe3#

确保在清单中声明了这三个Activity。创建Activity而不声明它是一个常见错误。
使用以下命令调用新“活动”:

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

f0brbegy4#

试试这个

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

ylamdve65#

确保在清单中声明了Activity。

如果您只是想从一个Activity移动到另一个Activity,可以按照下面的代码操作。

startActivity(new Intent(getApplicationContext(), NextActivity.class));

如果要在移动到另一个Activity时发送任何数据,请按照下面的代码操作。

Intent intent = new Intent(MainActivity.this, NextActivity.class);
        intent.putExtra("Title", title);
        startActivity(intent);
gupuwyp2

gupuwyp26#

希望不大但是...
您的问题也可能是由NullPointerException引起的
如果donetwo_button没有在matrixtwo.xml中声明,则会抛出该函数...
(复制粘贴错误很常见)

相关问题