2
我遇到了正在開發的應用程序的問題。我有一個初始微調屏幕(選擇客戶端)和1行內部元素。當我點擊加號按鈕時,它會添加更多的這些行。問題是因爲我將它們添加到XML佈局文件中,我無法更改ID(或者我可以嗎?)。所以我不能從他們每個人的價值觀,即使onItemSelected作品的客戶微調,但不爲其他人。我在這裏獲得了屏幕截圖以及用於創建第一行/其他行的代碼片段。具有相同ID的紡紗機/如何以編程方式添加行
截圖:http://dl.dropbox.com/u/9667835/Screenshot_2012-11-14-10-44-38.png
private void startRow()
{
ArrayAdapter<String> adapterUnits = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item);
for(int i=0; i<units_arr.size(); i++)
adapterUnits.add(units_arr.get(i).get("name").toString());
ArrayAdapter<String> adapterVats = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item);
for(int i=0; i<vats_arr.size(); i++)
adapterVats.add(vats_arr.get(i).get("value").toString());
tl = (TableLayout) findViewById(R.id.add_invoice_layout);
LayoutInflater inflater = LayoutInflater.from(this);
View item = inflater.inflate(R.layout.add_invoice_row, tl, false);
Spinner units = (Spinner) item.findViewById(R.id.spinnerUnit);
Spinner vats = (Spinner) item.findViewById(R.id.spinnerVAT);
units.setAdapter(adapterUnits);
vats.setAdapter(adapterVats);
tl.addView(item);
}
看來這工作得很好,我有相同數量的ArrayList和屏幕上的spinners。還有一個問題,如果我不使用ID(或者我應該使用它們?)我應該如何使用onItemSelected偵聽器?那也可以用標籤來完成嗎? –
在這種情況下,你不應該使用ID,我相信。當視圖膨脹時,應該連接選擇監聽器。視圖本身應包含選擇操作所需的全部信息。 – Daniel
非常感謝!解決了一切! –