为什么Eclipse在返回后总是给我一个错误;

San*_*nyi -1 java eclipse

我对eclipse android有一些问题.

我有一些java文件,但如果我在返回后调用一个方法; (参见示例)它告诉我删除方法.为什么?我正在使用Android 1.6.

public void onClick(View paramView)
 {
  switch (paramView.getId())
{
default:
case 2131296257:
}
while (true)
{
  return;
  fetchAlarmSettings();  <-- It tells me to remove this.
  if (this.strAlarmOnOff.equals("0"))
  {
    this.butAlarmSet.setText("Turn Alarm Off");
    this.db.updateSetting("alarmTime", this.strHour.concat(this.strMinute));
    this.db.updateSetting("alarmOnOff", "1");
    switch (this.cal.compareTo(Calendar.getInstance()))
    {
    default:
    case -1:
    }
    while (true)
    {
      this.setNotifications.setAlarm(this.cal);
      break;
      this.cal.roll(5, 1);
    }
  }
  this.butAlarmSet.setText("Turn Alarm On");
  this.db.updateSetting("alarmOnOff", "0");
  this.setNotifications.turnAlarmOff();
}
 }
Run Code Online (Sandbox Code Playgroud)

谢谢!

npi*_*nti 6

您的方法将在命令return被命中时停止运行.基本上它应该给你一个' Unreachable code!'警告,因为return语句之后的任何代码都不会被执行.删除return关键字应该可以解决问题.

所以基本上Eclipse告诉你删除下一行,return因为它永远不会被执行.如果你删除了方法调用,它会抱怨你接下来会抛出什么行.

除此之外,还有其他(根据我)你的代码的缺陷... while(true)在这种情况下有一个没有中断条件的循环似乎很奇怪(但那时我可能在这里错了).此外,该default块通常位于一系列case语句的末尾.你的第二个while(true)循环只会迭代一次,因为一旦this.setNotifications.setAlarm(this.cal);执行,循环将因break语句而停止迭代.