ListView 右側導航

2021-07-09 08:52:43 字數 3577 閱讀 8830

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...