我的数据总是变得大小' 1'设置为Spinner适配器后。我使用SearchableSpinner
来显示数据。
final SearchableSpinner spinnerProvince = selectLocation8v.getSpinnerProvince();
final ArrayList<String> arrayProvince = new ArrayList<>();
final ArrayList<String> arrayKota = new ArrayList<>();
final ArrayList<String> arrayKecamatan = new ArrayList<>();
final ArrayList<State> listProvinsi = lisaDbHelper.getStates();
for (int p = 0; p < listProvinsi.size(); p++) {
arrayProvince.add(listProvinsi.get(p).getName());
}
ArrayAdapter provinceAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_item, arrayProvince);
provinceAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerProvince.setAdapter(provinceAdapter);
System.out.println("Data count before set to adapter : " + provinceAdapter.getCount()); // 34
System.out.println("Data count after set to adapter : " + spinnerProvince.getAdapter().getCount()); // 1
答案 0 :(得分:0)
如果您想知道有多少项绑定到微调器,您应该调用:
spinnerProvince.getAdapter().getCount()
答案 1 :(得分:0)
在您的日志中,您试图通过spinnerProvince.getCount()
获取微调器中的项目数,但这不会返回实际值。
替换此代码
System.out.println("Data count after set to adapter : " + spinnerProvince.getCount());
要
System.out.println("Data count after set to adapter : " + spinnerProvince.getAdapter().getCount());
我从here得到了引用,我发现没有这样的方法来返回微调项目计数。
尝试这样做
Adapter adapter= (Adapterspinner )listProvinsi.getadapter();
int count = adapter.getCount();
希望它能帮到你!!