0

問題:

共有設定を介してブール値を取得しようとしていますが、値を使用しようとするたびに、引数の型に対して演算子が未定義であることを示すコンパイラ エラーが発生します。なぜこれが発生しているのかわかりません-時間ブール値を文字列に変換したと思います-それを値として使用して、時間値を取得するために掛けることができるはずです:

ソース:

    String PREF = "prefs";
    SharedPreferences prefs = getSharedPreferences(PREF, Context.MODE_PRIVATE); 
    boolean name = prefs.getBoolean("name", true); 
    boolean code = prefs.getBoolean("corename", true);
    boolean time = prefs.getBoolean("time", true);
    boolean ssid = prefs.getBoolean("restricted", true);

    String killtime = String.valueOf(time);




    Intent intent2 = new Intent(Rules.this, KillTimer.class);
    PendingIntent pintent2 = PendingIntent.getActivity(Rules.this, 0, intent2,
            0);
    AlarmManager alarm2 = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
            killtime * 1000, pintent2); // error is thrown here    
4

1 に答える 1

2

Stringaと anを掛け合わせようとしていintます。それは意味がありません。繰り返しますが、 が持っている値はString、とにかく強制された場合は意味がありませんint。それは 1 または 0 のいずれかであり、3 項ステートメントを使用して (興味深いことに) より明確に示すことができます。

alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
        time ? 1000 : 0, pintent2);
于 2013-04-22T04:16:56.510 に答える