我正在开发一个应用程序,需要一些有关微调器小部件的帮助。该数组在创建时没有任何条目,将在另一个函数中填充。所以我想我必须使用adapter.add(item);
并spinner.setAdapter(adapter);
更新这个函数中的微调器。
// 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 做一些事情。但我对此并不熟悉,也没有找到通过按下按钮添加项目的示例。也许在其他地方只是一个简单的失败,但目前我只是没有看到它。
这里是完整的代码:
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); }