2012-03-31 44 views
0

我有一個問題,就像我有一個包含在公司工作的所有開發人員姓名的微調器一樣。
我已經使用ArrayAdapter與一個數組,其名稱爲所有開發人員從數據庫中提取。如何在Android中設置並獲取微調器中的項目的編號

問題是,當我更新開發人員名稱字段時,我得到的開發人員名稱不足以更新數據,因爲他們可能是公司中具有相同名稱的多個開發人員。
所以現在我需要開發者的ID來更新它..
如何存儲與Spinner開發商ID,這樣我可以做到這一點。

例如,我想去做是我們在做HTML ::
<select>
<option id="1">Developer1</option>
<option id="2">Developer2</option>
<option id="3">Developer2</option>
<option id="4">Developer2</option>
</select>

其中ID連接將是數據庫ID
我想在android中模仿這個。

這是我用當您執行setOnItemSelectedListener上的名字存儲陣列::

String alldevelopers = null; 
try 
{ 
    ArrayList<NameValuePair> postP = new ArrayList<NameValuePair>(); 
    alldevelopers = CustomHttpClient.executeHttpPost("/fetchdevelopers.php", postP); 
    String respcl = alldevelopers.toString(); 
    alldevelopersParser dev = new alldevelopersParser(); 
    ow = dev.parseByDOM(respcl); 
} 
catch (Exception e) { 
    e.printStackTrace(); 
} 

String developers[] = new String[ow.length]; //dev is a class object 
for (int n = 0; n < ow.length; n++) 
{ 
    developers[n] = ow.developer[n][2]; 
} 

這是將旋轉陣列的微調..

final Spinner devl = (Spinner) findViewById(R.id.towner); 
devl.setOnItemSelectedListener(managetasks.this); 
ArrayAdapter<String> b = 
new ArrayAdapter<String>getApplicationContext(), 
android.R.layout.simple_spinner_item,developers); 
b.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); 
devl.setAdapter(b); 
+0

一個問題:微調器是否加載了與數據庫中的順序相同的開發者名稱?考慮微調器內項目的位置,以確定相同位置的db中編程人員的ID可能是有用的嗎? – Ant4res 2012-03-31 07:58:36

+0

是的......加載的順序與數據庫的順序相同......但是那麼開發人員的id不會以增量的方式出現,就好像某些開發人員被刪除了那麼他們的id就會丟失在列表中...所以我們無法直接將itemSelected位置與數據庫中id的位置進行比較......是他們的任何其他方式,我的親愛的朋友會根據ItemSelectedposition數字來搜索數據庫。 – 2012-03-31 09:19:52

回答

1

代碼微調那麼你有方法,如

public void onItemSelected(AdapterView<?> adapterView, View view, 
        int position, long id) {} 

在這裏你可以找到positi開啓所選的開發人員名稱,並使用此位置從數組中獲取數據。

+0

這是爲你工作嗎? – Jitendra 2012-03-31 08:21:04

+0

Jitender ...你是對的,但那麼我會如何比較數據庫?只有我可以通過這是顯示的位置和值...是他們的任何方式,我可以將開發人員的數據庫id附加到微調器,以便當我從微調器中獲取值時,我可以獲取數據庫身份證附加與該提取的項目.. ?? – 2012-03-31 09:23:26

+0

當您從arrayList 或任何集合中獲取項目的整個記錄​​時,您可以從collectionList的arrayList中獲取該位置的整個對象。如果你仍然有問題,請分享你的代碼。 – Jitendra 2012-03-31 09:43:14

相關問題