2014-10-17 37 views
-2

我有這個程序將更改從Calendar獲得的值的小時數和分鐘數。從Spinner中獲取字符串,並在條件語句中使用它

所以我只改變了一小時,我在這裏做了一個時區的事情。所以,我所做的是在Strings.xml中創建一個TimeZones數組,並將其放在一個微調器上。然後,當我更改微調器上的項目時,我將文本視圖的文本設置爲微調器上的選定值。

我可以做到這裏。

我的問題在於條件語句。我有一個獲取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); 
     } 

    } 

    }); 

幫助! :C

+0

[Java中比較字符串(http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – user2450263 2014-10-17 04:50:57

回答

0

使用此代碼

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

這是我使用,但我確定所有.equals的都是正確的。謝謝。 :) – 2014-10-17 05:07:48

1

嘗試這種方式

if(TimeZoneNow.equals(Jakarta) 

用於字符串比較

0

.equals()方法試試這個:

在你的情況與eqauls()更換==

說明:

==運算符用於比較的參考。

equals()用於比較內容。

相關問題