Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将按钮连接到Android中的类实例_Java_Android - Fatal编程技术网

Java 将按钮连接到Android中的类实例

Java 将按钮连接到Android中的类实例,java,android,Java,Android,我一直在用java开发简单的android问答应用程序来计算。我创建了一个类“category”,它包含add、减号、multiple和divide,我想将这些类的每个实例连接到一个按钮上,但我在这样做时遇到了问题。这是我的密码: public class Category { public static final int ADD = 1; public static final int MINUS = 2; public static final int MUL

我一直在用java开发简单的android问答应用程序来计算。我创建了一个类“category”,它包含add、减号、multiple和divide,我想将这些类的每个实例连接到一个按钮上,但我在这样做时遇到了问题。这是我的密码:


public class Category {

    public static final int  ADD = 1;
    public static final int MINUS = 2;
    public static final int MULTIPLE = 3;
    public static final int DIVIDE = 4;

    private int id;
    private String name;

    public Category() {

    }

    public Category(String name) {
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    @Override
    public String toString() {
        return getName();
    }
}
这是我的分类^

public class FirstScreenActivity extends AppCompatActivity implements View.OnClickListener{
    public static final String EXTRA_NUMBER = "com.example.application.example.EXTRA_NUMBER";
    private Button buttonAdd;
    private Button buttonMinus;
    private Button buttonMultiple;
    private Button buttonDivide;
    private Button buttonDivide2;
    public int no;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first_screen);

        buttonAdd = (Button) findViewById(R.id.buttonAdd);
        buttonMinus = (Button) findViewById(R.id.buttonMinus);
        buttonMultiple = (Button) findViewById(R.id.buttonMultiple);
        buttonDivide = (Button) findViewById(R.id.buttonDivide);
        buttonDivide2 = (Button) findViewById(R.id.buttonDivide2);

        buttonAdd.setOnClickListener(this);
        buttonMinus.setOnClickListener(this);
        buttonMultiple.setOnClickListener(this);
        buttonDivide.setOnClickListener(this);
        buttonDivide2.setOnClickListener(this);



    }

    public void openActivityChose() {
        Intent intent = new Intent(this, ActivityChose.class);
        intent.putExtra(EXTRA_NUMBER, no);
        startActivity(intent);
    }

    @Override
    public void onClick(View v) {
        switch(v.getId()) {
            case R.id.buttonAdd:
                no = 1;

                openActivityChose();
                break;
            case R.id.buttonMinus:
                no = 2;
                openActivityChose();
                break;
            case R.id.buttonMultiple:
                no = 3;
                openActivityChose();
                break;
            case R.id.buttonDivide:
                no = 4;
                openActivityChose();
                break;
            case R.id.buttonDivide2:
                no = 5;
                openActivityChose();
                break;
        }
    }
}
这里是活动^
我的问题是,为了将每个类实例绑定到正确的按钮,我必须在每种情况下放置什么?提前谢谢

覆盖的onClick方法是activity onClick,而不是按钮。 您需要分别为每个按钮设置onClick方法

使用findElementById()可能是最好的

Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    // Do something in response to button click
    }
});