Я пытаюсь реализовать несколько блесен в одном упражнении, которое работает нормально.У меня проблема в том, что когда я пытаюсь вывести их параметры с помощью onItemSelected, я не могу понять, как сказать этому методу, какой спиннер был только что обновлен.Я скопирую код, но вот выдержка из метода onItemSelected.Например, если бы у меня было два счетчика, показывались бы только результаты из счетчика intTypeItems.
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
selection.setText(intTypeItems[position]);
}
Вот полный класс, с которым я работаю.
public class Calculator extends Activity implements AdapterView.OnItemSelectedListener {
private TextView selection;
private static final Integer[] intNoItems={1,2,3};
//private static final String[] intNoItems={"one","two","three"};
private static final String[] intTypeItems={"Seconds","Minutes","Hours","Days"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calculator);
Spinner intNo=(Spinner)findViewById(R.id.intervalNo);
Spinner intType=(Spinner)findViewById(R.id.intervalType);
intNo.setOnItemSelectedListener(this);
intType.setOnItemSelectedListener(this);
selection=(TextView)findViewById(R.id.outPutValues);
ArrayAdapter<Integer> intNolist=new ArrayAdapter<Integer>(this, android.R.layout.simple_spinner_item,intNoItems);
ArrayAdapter<String> intTypelist=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,intTypeItems);
intNolist.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
intTypelist.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
intNo.setAdapter(intNolist);
intType.setAdapter(intTypelist);
}
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
selection.setText(casting + intTypeItems[position]);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
Один из счетчиков - это int, а другой - строка, поэтому мне также нужно будет разыгратьint в строку при выводе в мой текстовый вид выделения.Что опять же я не знаю, как это сделать, так как приведение может вызвать исключение, когда строка получает обратный вызов?