-1

Eclipseandroidに問題があります。

私はいくつかのJavaファイルを持っていますが、戻った後にメソッドを呼び出すと、(例を参照)メソッドを削除するように指示されます。なんで?私はAndroid1.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();
}
 }

ありがとう!

4

3 に答える 3

6

returnステートメントがヒットすると、メソッドの実行が停止します。基本的にはUnreachable code!、returnステートメントの後のコードは実行されないため、''警告が表示されます。returnキーワードを削除すると、問題が解決するはずです。

つまり、基本的にEclipseは、実行されないため、次の行を削除するように指示していますreturn。メソッド呼び出しを削除すると、次にスローする行について文句を言います。

それ以外に、あなたのコードには他の(私によれば)欠陥があります...while(true)この場合、ブレーク条件のないループを持つことは奇妙に思えます(しかし、ここでも私は間違っているかもしれません)。また、defaultブロックは通常、一連のcaseステートメントの最後にあります。が実行されると、ステートメントが原因でループの反復が停止するため、2番目のwhile(true)ループは1回だけ反復されます。this.setNotifications.setAlarm(this.cal);break

于 2012-04-20T11:15:18.010 に答える
1

Eclipseでは絶対的なコードを記述できません。実際、IDEはそのためにJavaコンパイラを使用しています。

この場合、特定のブランチのリターンの下のコード(つまり、のifコードの後に​​リターンを持つことができますelse)に到達できないため、コンパイルエラーが発生します。

于 2012-04-20T11:15:39.597 に答える
1

簡単な答えですが、「return」ステートメントの後に操作を実行することはできません。

于 2012-04-20T11:16:53.770 に答える