如何在按钮点击事件上打开活动?

时间:2016-01-22 06:00:42

标签: android

我想在我的主要活动中使用3个按钮。我有下面的代码.Toast工作正常但是当想要切换下一个活动然后应用程序崩溃,我收到一条消息“APP停止工作”我错了,请帮助我

public class MainActivity extends Activity implements OnClickListener {

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

        Button button1 = (Button) findViewById(R.id.button1);
        Button button2 = (Button) findViewById(R.id.button2);
        Button button3 = (Button) findViewById(R.id.button3);


        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        switch (v.getId()) {
        case R.id.button1:

            Intent intent = new Intent(this,Categories.class);
            startActivity(intent);          
            break;
      case R.id.button2:
          Toast.makeText(this, "button2 is working",Toast.LENGTH_LONG).show();

            break;

      case R.id.button3:
          Toast.makeText(this, "button3 is working",Toast.LENGTH_LONG).show();

            break;

        default:
            break;
        }



    }

}

3 个答案:

答案 0 :(得分:1)

需要在Activity中传递Contex Intent

即。 this替换为MainActivity.this

确保您在Android manifest文件中声明了类别活动

答案 1 :(得分:0)

如果您可以发布崩溃发生时显示的日志,那将非常有用。我想你可能忘记在清单文件中添加你的活动了。

 <activity
        android:name=".Categories">
 </activity>

添加以上行并查看问题是否已解决。

答案 2 :(得分:0)

如上所述,您可能在AndroidManifest中缺少活动(类别活动)声明或者您可能需要在create()上重新访问您的新活动(您的案例中的类别活动)以查找可能的缺陷。日志将帮助我们指出问题。