-2

У меня есть эта программа, которая изменит часы и минуты значений, которые я получаю из Календаря.Получение строки из Spinner и ее использование при условных операторах

Так что я меняю только час, я делаю здесь Часовой пояс. Итак, что я делаю, я делаю массив TimeZones в Strings.xml и помещаю его в spinner. И затем, когда я меняю элемент на счетчике, я устанавливаю текст текстового представления на выбранное значение на счетчике.

Я могу это сделать здесь.

Моя проблема заключается в условных операторах. У меня есть кнопка, которая получает текст в TextView, и я буду использовать его в своих операторах If. Это мой синтаксис.

Это дает мне значения от Spinner до TextView.

Spinner TimezoneSelect = (Spinner)findViewById (R.id.spinner1); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.timzones, R.layout.support_simple_spinner_dropdown_item); 
    TimezoneSelect.setAdapter(adapter); 
    //final String SelectedTimeZone = TimezoneSelect.getSelectedItem().toString(); 
    TimezoneSelect.setOnItemSelectedListener(new OnItemSelectedListener(){ 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, 
       int position, long id) { 
      // TODO Auto-generated method stub 
      TimeZoneStatus = parent.getItemAtPosition(position).toString(); 
      TimeZoneDisplay.setText(TimeZoneStatus); 

И это ошибочное утверждение If.

 public void onClick(View v) { 
     // TODO Auto-generated method stub 
     int newhour; 
     String TimeZoneNow = TimeZoneStatus.trim().toString(); 
     String Jakarta = "UTC+7:00 (Jakarta)"; 
     if ((TimeZoneNow == "UTC+7:00(Jakarta)") || (TimeZoneNow == Jakarta)) 
     //^lol desperate code 
     { 
      newhour = hour - 1; 
      TimeText.setText(newhour + ":" + minutes); 
     } 

    } 

    }); 

Помощь! : С

+0

[Сравнение строк в Java] (http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – user2450263

ответ

0

использовать этот код

if ((TimeZoneNow .equalsIgnoreCase(Jakarta)) 
    //^lol desperate code 
    { 
     newhour = hour - 1; 
     TimeText.setText(newhour + ":" + minutes); 
    } 
+1

Это то, что я но я уверен, что все правильные. Спасибо. :) –

1

попробовать этот путь

if(TimeZoneNow.equals(Jakarta) 

используемых .equals() метод для сравнения строк

0

Попробуйте это:

В вашем случае замените == с eqauls().

Пояснение:

== Оператор используется для сравнения ссылок.

equals() предназначен для сравнения содержимого.