Java 使用 arraylist<string> 填充 Android 微调器
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/20244419/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Android spinner populating using arraylist<string>
提问by Shona
im to populate spinner using arraylist , and that arraylist actully holds data from the file having android application data stored already for t=my application, im pasting the code ,, problem is spinner populates but values appear twice
我使用 arraylist 填充微调器,并且该 arraylist 实际上保存了来自已为 t=my 应用程序存储的 android 应用程序数据的文件中的数据,我粘贴代码,问题是微调器填充但值出现两次
String[] wee = list2.toArray(new String[list2.size()]);
final String[] str={"Report 1","Report 2","Report 3","Report 4","Report 5"};
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item);
spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
for(int i = 0;i < wee.length; i++){
spinnerArrayAdapter.add(wee[i]+"\n");
spinnerArrayAdapter.notifyDataSetChanged();
}
// Spinner spinYear = (Spinner)findViewById(R.id.spin);
spin.setAdapter(spinnerArrayAdapter);
回答by Boban S.
Try to initialize your spinner adapter with array in constructor.
尝试在构造函数中使用数组初始化微调适配器。
String[] wee = list2.toArray(new String[list2.size()]);
final String[] str={"Report 1","Report 2","Report 3","Report 4","Report 5"};
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, wee);
spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
// Spinner spinYear = (Spinner)findViewById(R.id.spin);
spin.setAdapter(spinnerArrayAdapter);
回答by katwal-Dipak
private void setSpinner() {
spinner = (Spinner) findViewById(R.id.spinner_size);
Intent intent = getIntent();
ArrayList<String> sizes = null;
if (intent != null) {
// Receiving ArrayList in Another Activity where "sizeList" is the Key
sizes = intent.getStringArrayListExtra("SizeList");
}
if (sizes != null) {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, sizes);
spinner.setAdapter(adapter);
// Spinner click listener
spinner.setOnItemSelectedListener(this);
}
}
Call setSpinner() method from OnCreate() Method. You can directly pass ArrayList as a parameter, you don't need to convert into String[].
从 OnCreate() 方法调用 setSpinner() 方法。可以直接传入ArrayList作为参数,不需要转换成String[]。