作者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
推 motors55:用dialog做 07/17 15:06
→ Ferich:因為美觀的關係 只能用drop_down的顯示方式呢... 07/17 16:49