作者Ferich (纯粹的透明)
看板AndroidDev
标题[问题] spinner 初始值的问题
时间Wed Jul 17 14:20:43 2013
目前作一个spinner
希望是选择地区名字後 底下的image 出现该对应的图档
但希望初始不会有选择 与spinner内出现的是 请选择
code:
public static String City[] = {"请选择","台湾","美国", "日本"};
Spinner sp = (Spinner) v.findViewById(R.id.value);
ArrayAdapter<String> ad = new ArrayAdapter<String>
(this.getContext(),
R.drawable.spinner_textview,
ei.getValue());
ad.setDropDownViewResource(R.drawable.spinner_textview);
sp.setAdapter(ad);
sp.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView,
View selectedItemView,
int spPosition,
long id)
{
securityType[0]="关闭照片";
int pixels=1;
if(spPosition!=0)
{
//show image.
}else
{
//disable image
}
}
@Override
public void onNothingSelected(AdapterView<?> parentView)
{
}
});
----------------------------------------------
解释
spinner 初始会显示 array内的第0个 也就是"请选择"
当选到 跳出spinner的选项时 把 阵列第0个改为 "关闭照片" 所以选项内不会有"请选择".
初始进入时 因为position为0 所以触发把image disable掉
选择後 即把照片选择出来
不管是"请选择" 还是"关闭照片" 皆为position 0 所以都把image disbale掉.
-----------------------------------------------
问题
初始进去 显示ok 四个选项ok 但是他不能选择第一个选项"关闭照片"
要选择他 只能先选 position 1,2,3 才能再选择0 才会有作用
事後知道 spinner 只支援selected change. 已经写成onitemselectlistener了
但是spinner还是只能支援 change. 所以当你选择了原本的position 是不会触发事件的
小弟只是想做 有初始值的spinner 但是初始值并不在选择的选项内
请问有版友有经验与更好的作法吗?
请提供指教 感谢各位.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.41.132
1F:推 motors55:用dialog做 07/17 15:06
2F:→ Ferich:因为美观的关系 只能用drop_down的显示方式呢... 07/17 16:49