src 中的 mainactivity:
public class mainactivity extends activity implements onitemclicklistener
@override
public void onitemclick(adapterview> parent, view view, int position,
long id)
}/**
* 根據拼音將城市列表排序
*/private void sortcitylistbypinyin(listdata)
});}
/*** 獲取城市列表的資料來源
* * @return 城市列表的資料來源
*/private listgetcitylistdata()
/*** 獲取右側字母導航的資料來源
* * @return 右側字母導航的資料來源
*/private listgetsidebardata()
}
src 中的 sidebaradapter:
public class sidebaradapter extends baseadapter
public void setdata(listdata)
this.data = data;
} @override
public int getcount()
@override
public view getview(int position, view convertview, viewgroup parent) else
holder.tvsortkey.settext(data.get(position));
return convertview; }
private class viewholder
@override
public object getitem(int position)
@override
public long getitemid(int position)
}
src 中的 cityadapter:public class cityadapter
extends baseadapter
implements sectionindexer
/*** 設定資料來源
* * @param data
* 資料來源
*/public void setdata(listdata)
this.data = data;
} @override
public int getcount()
// private string lastsortkey;
@override
public view getview(int position, view convertview, viewgroup parent) else
// 獲取當前需要顯示的資料
city city = data.get(position);
if(position == getpositionforsection(getsectionforposition(position))) else
// // 獲取當前的sort key
// string currentsortkey = city.getpinyin().touppercase(locale.china)
// .substring(0, 1);
// // 對比是否與上一條相同,且必須是position > 0時進行對比(第1條記錄不需要對比)
// if(position > 0 && currentsortkey.equals(
// data.get(position - 1)
// .getpinyin().
// touppercase(locale.china)
// .substring(0, 1))) else
// 設定控制項的顯示
holder.tvcitysortkey.settext("" + ((char)getsectionforposition(position)));
holder.tvcityname.settext(city.getname());
// 返回
return convertview;
} private class viewholder
@override
public int getpositionforsection(int section)
} return -1;
} @override
public int getsectionforposition(int position)
// 以下抽象方法可以不具體實現
@override
public object getitem(int position)
@override
public long getitemid(int position)
@override
public object getsections()
log.d("", "section count -> " + set.size());
// 根據set的大小建立陣列
string arr = new string[set.size()];
// 迴圈整個set,把每個元素新增到陣列
int i = 0;
for (string string : set)
// 返回
return arr;
}}
src 中的 city:
public class city
public city(string name, string pinyin)
public string getname()
public void setname(string name)
public string getpinyin()
public void setpinyin(string pinyin)
}
layout 中的 activity_main.xml:
layout 中的 city_item.xml:
<?xml version="1.0" encoding="utf-8"?>
layout 中的 side_bar_item.xml:
<?xml version="1.0" encoding="utf-8"?>
ListView隱藏右側滾動條
關於listview的滾動條幾種情形 1 預設情況 活動 滾動 時顯示,不活動時隱藏。2 活動和不活動時都顯示。3 活動和不活動時都隱藏。上述集中情況,均有listview的以下設定屬性方法控制 1 setverticalscrollbarenabled boolean b 設定true時 存在滾動...
ListView隱藏右側滾動條
文章 關於listview的滾動條幾種情形 1 預設情況 活動 滾動 時顯示,不活動時隱藏。2 活動和不活動時都顯示。3 活動和不活動時都隱藏。上述集中情況,均有listview的以下設定屬性方法控制 1 setverticalscrollbarenabled boolean b 設定true時 存...
vue頁面錨點右側導航
template的html 開通vip methods tranmem 其中的 this.getlocal 在這篇部落格 實現錨點定位 vip position45vh 相當於頁面高度的45 vh頁面寬度的百分比 vw頁面寬度的百分比。設定字型在div中水平垂直居中,text align cente...