사용자가 편집 텍스트에 숫자를 입력하면 내 스피치를 만들고 표시합니다. 사용자는 각 회 전자에서 항목을 선택한 다음 저장 버튼을 클릭합니다. 인터넷에서 보았지만 회 전자에서 위치를 검색 할 수있는 방법을 찾을 수 없었습니다. 나는 스피너의 위치를 얻기 위해 여러 가지 방법을 attemped 한프로그래밍 방식으로 만든 스피너에서 위치를 얻는 방법
//numStockTanks is the number of spinners to be created
numStockTanks = Integer.parseInt(numOfStockTanks.getText().toString());
// creates all the fields
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> adapterStockTankSize2 = ArrayAdapter.createFromResource(
this, R.array.StockTankSize, android.R.layout.simple_spinner_item);
adapterStockTankSize2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapterStockTankSize2);
spinner.setId(1000 + i);
// 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
} // end getNumberCreateSpinner()
하지만 난 그것을 알아낼 질수 : 여기에 내가 스피너를 생성하는 방법이다. 당신의 도움에 대한
ArrayList<Integer> mArraySpinner = new ArrayList<Integer>();
for (int i = 0; i < numStockTanks; i++) {
spinner = (Spinner) findViewById(1000 + i);
if (spinner.getSelectedItemPosition() == 1) {
mArraySpinner.add(100);
} else if (spinner.getSelectedItemPosition() == 2) {
mArraySpinner.add(200);
} else if (spinner.getSelectedItemPosition() == 3) {
mArraySpinner.add(210);
} else if (spinner.getSelectedItemPosition() == 4) {
mArraySpinner.add(295);
} else if (spinner.getSelectedItemPosition() == 5) {
mArraySpinner.add(400);
} else mArraySpinner.add(0);
} // end for statement
감사를
편집 : 처음에 응답 한 후 내 최신 시도에
편집 편집 업데이트 : 여기에 내가 현재 가지고있는 것입니다 나는 줄 "을 디버깅 할 때 회 = (Spinner) findViewById (1000 + i); " 당신이 회 전자 ID에 대한 1000++
를 사용하는
스피너가 변경된 후에가 아니라 클릭 이벤트에서 위치를 검색 중이므로 리스너가 필요하다고 생각하지 않습니다. – deerkiller11
리스너를 사용하여 배열 값을 설정합니다 (나중에 대신 스피너로 배열을 만들어야 함). 그런 다음 버튼을 사용하여 마무리/작동합니다. 육체에 대한 내 대답을 업데이트/내 생각을 보여줍니다. – Barak
나는이 코드를 사용하려고했는데, 청취자가 onCreate 메서드에서 "해고 됨"따라서 0 값이 배열에 입력되었다는 것을 알아 냈습니다. – deerkiller11