我遇到问题,以下 onClickListener
check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Integral prev;
if(selm.getSelectedItem().toString().equals("Trapezi"))
prev=new Trapezi();
else
prev=new SimpsonI();
txtit.setEnabled(!txtit.isEnabled());
if(txtit.isEnabled()) {
calc = calc.getComposite();
}
else {
calc = prev;
}
}
});
未到达方法末尾,执行行后停止:
txtit.setEnabled(!txtit.isEnabled());
这是一个很奇怪的问题,所以我无法理解它的原因。我对 Android 很陌生,我正在编写一个简单的应用程序来与 Android 环境变得友好,如果我的问题很愚蠢,这就是原因!谢谢
最佳答案
简单来说,if
或else
语句仅对单行代码有效,因此在else
语句中添加大括号,例如,
Integral prev;
if(selm.getSelectedItem().toString().equals("Trapezi"))
prev=new Trapezi();
else
{
prev=new SimpsonI();
txtit.setEnabled(!txtit.isEnabled());
}
...
如果您希望在每种情况下都执行setEnabled
,那么甚至不要弄乱代码重新格式化它
else
{
prev=new SimpsonI();
}
txtit.setEnabled(!txtit.isEnabled());
关于java - Android:onClickListener方法未到达结束,因为它先结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290109/