返回真实;错误表示无法访问的代码

时间:2013-11-28 18:50:14

标签: java android

嗨专业人士请帮我解决这个错误。我可能知道返回true后的任何内容都不会被执行,这就是它返回错误的原因。请建议我应该在哪行之后返回true;编程新但喜欢它。以下代码是Java / Android API。

 @Override
public boolean onCreateOptionsMenu(Menu menu){
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    counter = 0;
    add = (Button) findViewById(R.id.bAdd);
    sub = (Button) findViewById(R.id.bSub);
    display = (TextView) findViewById (R.id.tvDisplay);
    add.setOnClickListener(new View.OnClickListener() 

    {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            counter++;
            display.setText("Your total is" + counter);
        }
    });
    sub.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            counter--;

        }
    });        
}

}

4 个答案:

答案 0 :(得分:1)

那不是说谎。在onCreateOptionsMenu()方法中的return true;之后,代码永远不会被执行。

返回true应放在函数的末尾(一般来说)

答案 1 :(得分:1)

正如您所知,一旦您的程序遇到return语句,该代码块中的任何其他内容都不会执行。因此,return true;的逻辑位置应该是在您设置了所有事件侦听器之后,如下所示“

sub.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            counter--;

        }
    });
  return true; // here        
}

答案 2 :(得分:1)

return true;语句使方法的其余部分无法访问。将其移动到方法的底部。

答案 3 :(得分:0)

该行return true;将使处理器跳出nethod onCreateOptionsMenu,结果为true。因此,return true;行之后的代码永远不会被执行。

编译器检测到这种错误并报告返回后的代码无法访问,因为在大多数情况下这是偶然的而不是故意的。