我已经设置了一个按钮,将语言从英语更改为威尔士语,只有大约5行英语,因此只需使用.setText手动更改每个框中的文本
我还需要更改按钮上的文本,这可以工作,但是一旦更改语言,其他按钮将无法正常工作。
下面的代码是按下“英语”按钮时发生的事情(按下威尔士按钮也发生同样的情况。.但是在威尔士语中)。按下calc,reset,calc2和reset2按钮后,它们将停止执行设置为要执行的功能...但是它们在未按下任何按钮之前都可以工作。
有什么想法吗?
谢谢
english.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
quantity1.setText("Quantity");
total1.setText("Minimum");
Button calc = findViewById(R.id.buttoncalc);
calc.setOnClickListener(this);
calc.setText("Calculation");
Button reset = findViewById(R.id.buttonreset);
reset.setOnClickListener(this);
reset.setText("Reset");
Button calc2 = findViewById(R.id.buttoncalc2);
calc2.setOnClickListener(this);
calc2.setText("Calculation");
Button reset2 = findViewById(R.id.buttonreset2);
reset2.setOnClickListener(this);
reset2.setText("Reset");
multi_title.setText("Multi Calculator");
single_title.setText("Single Calculator");
}
});
答案 0 :(得分:1)
这是解决问题的完全错误的方法...
因为该框架提供了开箱即用的完美支持,而不会造成混乱。
Android Studio甚至还具有翻译编辑器,可以在其中并排翻译。
答案 1 :(得分:0)
calc.setOnClickListener(this);
此关键字在此引用英语的点击侦听器,这就是您的基本功能无法正常工作的原因。 尝试将所有clicklistener设置为英语click listener的范围之外。 而且您的代码可以正常工作。
答案 2 :(得分:0)
Button calc = findViewById(R.id.buttoncalc);
Button reset = findViewById(R.id.buttonreset);
Button calc2 = findViewById(R.id.buttoncalc2);
Button reset2 = findViewById(R.id.buttonreset2);
setClicks();
english.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
quantity1.setText("Quantity");
total1.setText("Minimum");
calc.setText("Calculation");
reset.setText("Reset");
calc2.setText("Calculation");
reset2.setText("Reset");
multi_title.setText("Multi Calculator");
single_title.setText("Single Calculator");
}
});
private void setClicks() {
calc.setOnClickListener(this);
reset.setOnClickListener(this);
calc2.setOnClickListener(this);
reset2.setOnClickListener(this);
}
请尝试并再次检查