2014-02-27 77 views
0

我有一個顯示城市名稱的微調器。我從webservice獲取它們。此外,我還爲每個城市提供背景ID。所以我想,每當用戶點擊城市時,相應的ID應該存儲在一個字符串中。 我的代碼如下。它正在工作,但是我從整個數組中獲取最後一個ID,無論我選擇什麼,ID都是最後一個ID。如何從android中的微調獲取標籤值?

cityspinner.setAdapter(adapter); 
        cityspinner.setTag(nid[i]); 
        Log.e("IDS", nid[i]); 
        cityspinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

         @Override 
         public void onItemSelected(AdapterView<?> arg0, 
           View arg1, int arg2, long arg3) { 
          // TODO Auto-generated method stub 
          String selected = (String) cityspinner.getTag(); 
          //String selected = list.get(category.getSelectedItemItemPosition()).get("Category"); 
          System.out.println(selected); 
         } 

         @Override 
         public void onNothingSelected(AdapterView<?> arg0) { 
          // TODO Auto-generated method stub 

         } 
        }); 
+0

發佈'adapter'代碼。 –

+0

我還沒有使用過適配器。不能我沒有適配器? – user2699728

+0

'cityspinner.setAdapter(adapter);'顯示你已經使用了一個適配器。 –

回答

1

嘗試像下面,

@Override 
    public void onItemSelected(AdapterView<?> arg0,View arg1, int pos, long arg3) 
    {       
    String selected = cityspinner.getItemAtPosition(pos).toString(); 
    //or        
    String selected = items[pos]; //Assuming that "items" is a String[]. 
    } 
+0

我想要nid [i],就像用戶選擇第二項在微調,那麼相應的ID應該存儲在一個來自nid [i]的字符串。 – user2699728

+0

@ user2699728:然後使用'String selected = nid [pos];' –