2011-06-30 144 views
0

所以我得到了我的微調從StringArray的條目。Spinner忽略條件語句

String[] spinnerEntries = { 
       getResources().getString(R.string.oldPoint), 
       getResources().getString(R.string.newPoint), 
       getResources().getString(R.string.gpsLocation) }; 

Spinner spinner = (Spinner) findViewById(R.id.spinner1); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_spinner_item, spinnerEntries); 

我想設置searchPoint取決於微調的選擇,但它完全igonores所有的情況下,除了第一個(oldPoint)。我究竟做錯了什麼?我太累了,太笨了,但我沒看到問題。

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { 
    String spinnerItem = (String) parent.getItemAtPosition(pos); 
    if (spinnerItem.equals(getString(R.string.oldPoint))) { 
     searchPoint = R.string.oldPoint; 
    } else if (spinnerItem.equals(R.string.newPoint)) { 
     searchPoint = R.string.newPoint; 
    } else if (spinnerItem.equals(R.string.gpsLocation)) { 
     searchPoint = R.string.gpsLocation; 
    } 
} 

回答

1

在第一個條件,你在正確的不斷對罵getString()。但是,在其他的第二個塊中,你不是。

// Correct 
if (spinnerItem.equals(getString(R.string.oldPoint))) { 
    searchPoint = R.string.oldPoint; 

// Need to call getString() on R.string.newPoint 
} else if (spinnerItem.equals(R.string.newPoint)) { 
    searchPoint = R.string.newPoint; 

// Need to call getString() on R.string.gpsLocation 
} else if (spinnerItem.equals(R.string.gpsLocation)) { 
    searchPoint = R.string.gpsLocation; 
} 
+0

太棒了!好吧,我似乎太累了,甚至找不到這麼小的東西。謝謝! – iDroid