地區選擇控制項雜記

2022-09-06 23:33:25 字數 3483 閱讀 6557

1.json資料讀取

private

void

initjsondata()

is.close();

//關閉流

jsonobject = new jsonobject(sb.tostring());//

為json賦值

} catch

(exception e)

}

2.初始化省市區資料

private

void

initdatas() catch

(exception e)

//所有的市

string allcity = new string[jsoncity.length()];//

所有市的長度

for (int c = 0; c < jsoncity.length(); c++) catch

(exception e)

string allarea = new string[jsonarea.length()];//

所有的區

for (int a = 0; a < jsonarea.length(); a++)

areamap.put(citystr, allarea);

//某個市取出所有的區集合

} citymap.put(provstr, allcity);

//某個省取出所有的市,

} }

catch

(jsonexception e)

jsonobject = null;//

清空所有的資料

}

3.adapter

3.1更新adapter

provinceadapter = new

regionadapter(context, r.layout.region_item);

for (int i = 0; i < allprov.length; i++)

provinceadapter.addall(prolist);

/**

* 根據當前的省,更新市和區的資訊

*/private

void

updatecityandarea(object object)

cityadapter.addall(citylist);

cityadapter.notifydatasetchanged();

//重新整理

updatearea(cities[0]);//

更新區,沒有市則預設第乙個給它

}

//根據當前的市,更新區的資訊

private

void

updatearea(object object)

areaadapter.addall(arealist);

//填入到這個列表

areaadapter.notifydatasetchanged();//重新整理}

}

4.選中效果

//

監聽點選item事件

private

void

setlvlistener()

}).start();

break

;

case "city":

zeroflag = "area";

printnike(citylist, cityadapter, position);

//打勾

cityname =cityadapter.getitem(position).getname();

new thread(new

runnable()

}).start();

break

;

case "area":

//相容已有位址

if (areamap.get(tv_city.gettext().tostring()) != null

)

break

; }

}});

}

public handler mhandler = new

handler()

else

break

;

default

:

break

; }

super

.handlemessage(msg);}};

5.已有地區編輯

//

監聽tv事件

private

void

settvlistener()

});tv_city.setonclicklistener(

newview.onclicklistener()

});tv_area.setonclicklistener(

newview.onclicklistener()

});}

//設定請選擇效果

private

void

outselect(string sel)

}

view code

6.打勾

/**

* 打勾

*/private

void printnike(listrelist, regionadapter readapter, int

position)

@override

public view getview(int

position, @nullable view convertview, @nonnull viewgroup parent)

iv_region.setimageresource(region.getimageid());

return

view;

}

7.資料傳遞

private handler mhandler = new

handler()

}

/**

* 傳送訊息**

@param

messagetype

* @param

province

* @param

city

* @param

area

*/private

void sendmessage(int

messagetype, string province, string city, string area)

小程式 選擇地區(地區選擇器)

門店位址省 市 wxss address address text address view address view1 scroll scroll view list msg2 backnew js page 生命週期函式 監聽頁面載入 onload function options 獲取省的介面...

UIPicView地區選擇器

今天公司做專案用到了選擇位址,於是便寫了乙個,用的純系統方法和控制項,還沒有封裝,有需要的可以自行封裝一下,先上效果圖吧 重新整理任意一列每一列都可以進行重新整理 下面是 這是宣告的內容 import viewcontroller.h define width uiscreen mainscreen...

日期選擇控制項

呼叫方法 日曆開始 var date start,date end,g object var today new date var separator var inover false mode 時間變換的型別0 年 1 月 2 直接選擇月 function change date temp,mod...