Я работаю над приложением и нуждаюсь в некоторой помощи с помощью виджета spinner. Массив не имеет записей по его созданию и будет заполнен другой функцией. Поэтому я должен использовать adapter.add(item);
и spinner.setAdapter(adapter);
, чтобы обновить счетчик в этой функции, я думаю.Android Spinner добавить товар
// global variables String[] test = new String[100]; int x = 0; Spinner s; ArrayAdapter adapter; Button btn1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn1 = (Button) findViewById(R.id.button1); btn1.setOnClickListener(this); s = (Spinner) findViewById(R.id.spinner1); adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, test); } public void onClick(View arg0) { test[x] = String.valueOf(x);; x++; adapter.add(test[x]); s.setAdapter(adapter); }
только для образования цели я попытался это, но есть еще ошибка в функции OnClick(). Что-то должно быть сделано с ArrayAdapter, я думаю. Но я не знаком с этим и не нашел примера для добавления itmes, нажав кнопку. Возможно, в другом месте есть простой провал, но в настоящее время я его просто не вижу.
здесь полный код:
ArrayList<Integer> test; int x = 0; Spinner s; ArrayAdapter adapter; Button btn1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn1 = (Button) findViewById(R.id.button1); btn1.setOnClickListener(this); s = (Spinner) findViewById(R.id.spinner1); test = new ArrayList<Integer>(); adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, test); } public void onClick(View arg0) { test.add(x); x++; s.setAdapter(adapter); }
Большое спасибо, проблема решена. никогда раньше не использовал ArrayList, на самом деле это кажется мне очень удобной заменой обычного массива. – Silu