一二三四级联动,ListView联动,城市选择联动,SQLite轻量级数据库,城市数据库!!!android
效果以下:
git
/**
* 设置省
*/
private void setProvince() {
provinceValues=getProvince(countryValues.get(countryPosition).getPlaceid());
if(!(provinceValues.isEmpty())){
provinceAdapter=new LevelListViewAdapter(this, provinceValues);
provinceAdapter.setSelectedPositionNoNotify(provincePosition, provinceValues);
lv_province.setAdapter(provinceAdapter);
provinceAdapter.setOnItemClickListener(new LevelListViewAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
if(provinceNumber!=position){//记录不是当前点击的
provinceNumber=position;//就记录当前条目
provinceTime=System.currentTimeMillis();//并记录第一次时间戳
Timer timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
provinceNumber=-1;
provinceTime=0;
}
}, 300);
}else{//记录的是当前点击的
long num = System.currentTimeMillis()-provinceTime;//判断时间差,是否是双击
if(num<=300){//时间差200毫秒内
ToastUtil.showToast(MainActivity.this, provinceValues.get(position).getPlacename());
}
provinceNumber=-1;//重置过的记录
provinceTime=0;//重置时间的记录
}
cityValues.clear();
if(!(provinceValues.isEmpty())){
cityValues=getCity(provinceValues.get(position).getPlaceid());
cityAdapter.notifyDataSetChanged();
cityAdapter.setSelectedPositionNoNotify(0, cityValues);
lv_city.smoothScrollToPosition(0);
}else{
cityAdapter.notifyDataSetChanged();
}
}
});}
}复制代码
设置国和州,省的方式是同样的,这里不在贴出
布局很简单:github
...
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" >
<ListView
android:id="@+id/lv_continent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ffffff"
android:cacheColorHint="#00000000"
android:divider="@null"
android:dividerHeight="0dp"
android:scrollbars="none" >
</ListView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical" >
<ListView
android:id="@+id/lv_country"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#ffffff"
android:cacheColorHint="#00000000"
android:divider="@null"
android:dividerHeight="0dp"
android:scrollbars="none" >
</ListView>
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:background="#c8c8c8" />
</LinearLayout>
......复制代码
参考双联动ListView--相似外卖点餐:数据库
github项目:bash
若是你以为此文对您有所帮助,欢迎入群 QQ交流群 :644196190
微信公众号:终端研发部 ide