Code Bye

Spinner不显示数据,点击才显示列表,点击子项数据又上不去。。

 

不知道说清楚没,页面加载完之后,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分
引用 楼主 wlwlwlwl015 的回复:

不知道说清楚没,页面加载完之后,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数据,和这个有关系吗。。

我也不知道,帮你顶一下吧。。。


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()就不会存在该问题

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Spinner不显示数据,点击才显示列表,点击子项数据又上不去。。