2013-04-22 3 views
0

ПРОБЛЕМА:Оператор * не определен для типа аргумента (ов) Строка, внутр

Я пытаюсь вытащить значение булевой через sharedpreferences однако каждый раз я пытаюсь использовать значение я получаю ошибка компилятора, указывающая, что оператор не указан для типа аргумента. Я не уверен, почему это происходит. Я считаю, что я преобразовал время в логическое значение в строку. Тогда я должен использовать это как значение для умножения, чтобы получить мое значение времени:

ИСТОЧНИК:

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  
+0

, на какой линии у вас возникла ошибка – aymankoo

ответ

2

Вы пытаетесь умножить String и int вместе. Это не имеет смысла. Опять же, значение, которое имеет значение String, не имеет смысла, если оно будет принудительно введено в int - это либо 1, либо 0, что может быть более четко проиллюстрировано (интересно) с тройным заявлением.

alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 
     time ? 1000 : 0, pintent2); 
Смежные вопросы