如何将主活动中的两个单独按钮链接到两个单独的活动?

时间:2018-03-12 19:45:23

标签: java android button

我制作的应用主要活动有两个按钮。我想将每个按钮连接到一个单独的活动。以下是我的代码:

package com.example.aadit.hexdropper;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

private Button button;

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

button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        openGalleryActivity();
    }
});


}

private Button button2;

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

    button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            openCameraActivity();
        }
    });

public void openGalleryActivity() {
    Intent intent = new Intent(this, GalleryActivity.class);
    startActivity(intent);
}

public void openCameraActivity() {
    Intent intent = new Intent(this, CameraActivity.class);
    startActivity(intent);
}
} 
}

问题出现在

private Button button2;

的字符串。我不明白如何解决它。第一个字符串工作正常,因为每次我点击第一个按钮,它都会带我到正确的活动。但是,输入第二组代码会使第一组无效。我该怎么做才能确保两个按钮都可以进行各自的活动?

1 个答案:

答案 0 :(得分:1)

我真的不知道你有两个onCreate方法,但实际上你只能有一个。它应该是这样的:

公共类MainActivity扩展了AppCompatActivity {

私人按钮1; 私人按钮2;

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

    button1 = (Button) findViewById(R.id.button1);
    button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            openGalleryActivity();
        }
    });

    button2 = (Button) findViewById(R.id.button2);
    button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            openCameraActivity();
        }
    });
}