Android:你如何点击其他活动?

Big*_*gsy 16 java android onclick android-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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

以及第三项活动的代码:

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);
   }
}
Run Code Online (Sandbox Code Playgroud)

Sum*_*ant 23

请尝试以下代码switch:

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

告诉我这有用.....

  • 捕获异常并吞没它而不显示任何信号是一种非常糟糕的做法...如果你不想让它上升到方法的链上,至少在控制台中记录它的消息或它的堆栈跟踪或(更好)在一个文件中. (3认同)

Nom*_*man 9

Intent k = new Intent(Game.this, GameTwo.class);
startActivity(k);
Run Code Online (Sandbox Code Playgroud)

这有效,但您还要确保在清单中指定此项.