Java 为什么EventListener只在第一次工作?

Java 为什么EventListener只在第一次工作?,java,android-studio,calculator,event-listener,Java,Android Studio,Calculator,Event Listener,我使用这个java代码来编写一个Android RPN计算器 现在我正处于这样一个阶段:单击按钮会触发按钮的值,以显示在文本视图字段中(或者至少显示带有Toast.makeText的内容),但不幸的是,它只适用于第一个按钮单击 下一个事件将被忽略(没有通过Toast发送的消息,文本视图中也没有更改)。你知道为什么吗 MainActivity.java 谢谢大家! 您需要删除setContentView(R.layout.activity_main)从onClick()方法 @Override p

我使用这个java代码来编写一个Android RPN计算器

现在我正处于这样一个阶段:单击按钮会触发按钮的值,以显示在文本视图字段中(或者至少显示带有
Toast.makeText
的内容),但不幸的是,它只适用于第一个按钮单击

下一个事件将被忽略(没有通过Toast发送的消息,文本视图中也没有更改)。你知道为什么吗

MainActivity.java


谢谢大家!

您需要删除
setContentView(R.layout.activity_main)
onClick()
方法

@Override
public void onClick(View v) {

    setContentView(R.layout.activity_main);


    switch (v.getId()){
        case R.id.btn0:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("0");
            Toast.makeText( this, "btn0", Toast.LENGTH_SHORT).show();
            break;
        case R.id.btn1:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("1");
            Toast.makeText( this, "btn0", Toast.LENGTH_SHORT).show();
            break;
        case R.id.btn2:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("2");
            Toast.makeText( this, "btn0", Toast.LENGTH_SHORT).show();
            break;
        case R.id.btn3:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("3");
            break;
        case R.id.btn4:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("4");
            break;
        case R.id.btn5:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("5");
            break;
        case R.id.btn6:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("6");
            break;
        case R.id.btn7:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("7");
            break;
        case R.id.btn8:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("8");
            break;
        case R.id.btn9:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.append("9");
            break;


        case R.id.Plus:

            break;
        case R.id.Minus:

            break;
        case R.id.Power:

            break;
        case R.id.Root:

            break;

        case R.id.MPlus:

            break;
        case R.id.MMinus:

            break;
        case R.id.AC:
            stackedit0 = findViewById(R.id.stackedit0);
            stackedit0.setText("");
            break;
        case R.id.MRC:

            break;



    }
}