用戶在EditText
中輸入一個數字,應用程序將以編程方式創建多個微調器。當用戶點擊我的用戶界面底部的「保存」按鈕時,我無法獲得這些spinners的位置以保存它們。獲取以編程方式創建的微調器的位置
當我嘗試獲取如下所示的位置時:mArraySpinner.add(spinner.getSelectedItemPosition());
我在數組中有幾個空位置,就像偵聽器在創建時觸發一樣,然後它將只保存數組最後一個元素中的最後一個spinners位置。
這裏是我創建紡紗代碼:
for(int i = 1; i <= numStockTanks; i++) {
TableRow tR = new TableRow(this);
// creates the textView
tV1 = new TextView(this);
tV1.setText("Stock Tank #" + i + " size: ");
// add spinner to row
spinner = new Spinner(this);
ArrayAdapter<CharSequence> adapterStockTankSize = ArrayAdapter.createFromResource(
this, R.array.StockTankSize, android.R.layout.simple_spinner_item);
adapterStockTankSize.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapterStockTankSize);
spinner.setTag(i + 600);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onNothingSelected(AdapterView<?> parent) {}
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
mArraySpinner.add(spinner.getSelectedItemPosition());
}
});
// add the TextView and the editText to the new TableRow
tR.addView(tV1);
tR.addView(spinner);
// add the TableRow to the TableLayout
tL.addView(tR,new TableLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
} // end for statement
感謝您的幫助
@mattjgalloway你編輯了什麼? – deerkiller11 2012-07-30 23:59:42
我批准別人編輯整理這個問題。您可以點擊「編輯7小時前」以查看修改方式。 – mattjgalloway 2012-07-31 06:49:50
@mattjgalloway,好吧,我現在看到,它使我的內聯代碼從常規文本中脫穎而出。感謝對不起 – deerkiller11 2012-07-31 15:24:03