关于Android Spinner控件动态赋值,不显示的问题
程序员文章站
2022-05-26 09:53:38
...
List<SpinnerItem> _listSI=new ArrayList<SpinnerItem>();
SpinnerItem siqz=new SpinnerItem("1","前兆");
_listSI.add(siqz);
SpinnerItem sidy=new SpinnerItem("2","电源");
_listSI.add(sidy);
SpinnerItem sicz=new SpinnerItem("3","测震");
_listSI.add(sicz);
Spinner spType=(Spinner)findViewById(R.id.spType);
ArrayAdapter<SpinnerItem> Adapter = new ArrayAdapter<SpinnerItem>(getApplicationContext(),
android.R.layout.simple_spinner_item, _listSI);
Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spType.setAdapter(Adapter);
这样赋值后在选择下拉框中的内容后是不会显示的,查了很多资料都说异步加载的问题,我是把红色标点处改为当前的活动类就好了:
ArrayAdapter<SpinnerItem> Adapter = new ArrayAdapter<SpinnerItem>(TypeActivity.this, android.R.layout.simple_spinner_item, _listSI);
顺便记录下如何通过后台返回的值默认选中对应的项:
String value="测震"; SpinnerAdapter apsAdapter= spType.getAdapter(); //得到SpinnerAdapter对象 int k= apsAdapter.getCount(); for(int i=0;i<k;i++){ if(value.equals(apsAdapter.getItem(i).toString())){ spType.setSelection(i,true);// 默认选中项 break; } }
上一篇: SpringBoot--5.整合JSP