到目前为止,我一直在使用来自XML字符串数组的spinner值:
Spinner karant_sp;
karant_sp = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> karant_adapter = ArrayAdapter.createFromResource(this, R.array.karant_list, android.R.layout.simple_spinner_item);
karant_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
karant_sp.setAdapter(karant_adapter);
karant_sp.setSelection(0);
karant_sp.setOnItemSelectedListener(new select_karant());
我可以使用本地java ArrayList-String作为要在下拉菜单中显示的项目列表吗?
类似的东西:
Spinner karant_sp;
ArrayList<String> return_likes = new ArrayList<String>();
return_likes.add("Hello");
return_likes.add("world");
karant_sp = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> karant_adapter = ArrayAdapter.createFromResource(this, return_likes, android.R.layout.simple_spinner_item);
karant_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
karant_sp.setAdapter(karant_adapter);
karant_sp.setSelection(0);
karant_sp.setOnItemSelectedListener(new select_karant());
我知道上面的代码不起作用,但我想知道使用ArrayList-string工作的东西。
答案 0 :(得分:51)
是。只是不要在createFromResource()
上致电Adapter
。请改用其中一个构造函数。像
ArrayAdapter<String> karant_adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, return_likes);
这只是一个例子,您可能需要更改其他内容才能使其工作,具体取决于哪些方法无效。但是The ArrayAdapter Docs应该有所帮助。