gpt4 book ai didi

java - 为什么 EventListener 仅在第一次工作?

转载 作者:行者123 更新时间:2023-12-02 09:21:15 25 4
gpt4 key购买 nike

我使用此 Java 代码来编写 Android RPN 计算器

现在我正处于单击按钮会触发按钮的值显示在 TextView 字段中的阶段(或者至少显示带有 Toast.makeText 的内容),但不幸的是它仅适用于第一次按钮单击。

接下来的事件将被忽略(没有通过 Toast 的消息,并且 TextView 字段中没有更改)。你知道为什么吗?

MainActivity.java

@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;



}
}

谢谢!

最佳答案

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

关于java - 为什么 EventListener 仅在第一次工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58677675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com