有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java返回True;错误表示无法访问代码

嗨,专业人士,请帮我解决这个错误。我可能知道,返回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) 个答案

  1. # 1 楼答案

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

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

  2. # 2 楼答案

    这不是撒谎。在onCreateOptionsMenu()方法中的return true;之后,代码永远无法执行

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

  3. # 3 楼答案

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

  4. # 4 楼答案

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

    sub.setOnClickListener(new View.OnClickListener() {
    
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                counter--;
    
            }
        });
      return true; // here        
    }