不知道说清楚没,页面加载完之后,Spinner什么都不显示,数据是通过ArrayAdapter提供的,点击可以正常显示数据列表,可是我点击子项之后,Spinner还是什么都不显示,很奇怪,有没有人知道为什么。。。 private void setupView() { //为spinner封装数据 getSpinnerDatas(); ArrayAdapter<String> adapter=new ArrayAdapter<String>(context, R.layout.item_spinner_2,questions); spinner=(Spinner) findViewById(R.id.spinner1); spinner.setAdapter(adapter); spinner.setSelection(0,true); } getSpinnerDatas();方法是调用服务端代码获取Spinner数据,和这个有关系吗。。 |
|
20分 |
我也不知道,帮你顶一下吧。。。 |
25分 |
你服务端获取数据是不是在另外线程里做的,断点看看questions的值
|
25分 |
setDropDownView 在adapter中重写下看看
|
30分 |
你debug看下getview呗,看下是否真的写进去了,,,
|
我也遇到这个问题了。。。请问你解决了吗
|
|
我也遇到这个问题了,同样是从服务器获取列表,setAdapter以后spinner的下拉列表有值,但是默认选项是空白的。从logcat里看点击item没有进入setOnItemSelectedListener监听程序,但是从本地获取的list就可以正常显示和监听点击事件。
实在没辙了,求高手解救! |
|
补充一下,我的List item是自定义的,每个item有四个元素,三个textview,一个imageview,下拉列表都可以正常显示的。
|
|
这个问题好像是楼主异步加载数据造成的。当调用spinner.setAdapter()时候,那个adapter中还没有数据,自定义adapter也是一样问题,其实哪怕adapter中仅有一条记录,后期异步添加数据都没有问题。但一条数据都没有便会出现该问题,然而点击spinner任然会显示异步加载的数据。
最好的办法是,是异步数据加载完成后在调用spinner.setAdapter()就不会存在该问题 |