編輯:關於Android編程
首先准備兩個Array:一個是城市TAg,另一個是城市Name
[html]
<string-array name="city_group_list">
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>熱門</item>
<item>A</item>
<item>A</item>
<item>A</item>
<item>A</item>
<item>A</item>
<item>B</item>
<item>B</item>
<item>B</item>
<item>B</item>
<item>B</item>
<item>B</item>
<item>C</item>
<item>C</item>
<item>C</item>
<item>C</item>
<item>C</item>
<item>C</item>
<item>C</item>
<item>C</item>
<item>C</item>
<item>D</item>
<item>D</item>
<item>D</item>
<item>D</item>
<item>D</item>
<item>D</item>
<item>D</item>
<item>E</item>
<item>F</item>
<item>F</item>
<item>F</item>
<item>G</item>
<item>G</item>
<item>G</item>
<item>G</item>
<item>G</item>
<item>G</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>H</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>J</item>
<item>K</item>
<item>K</item>
<item>K</item>
<item>K</item>
<item>K</item>
<item>L</item>
<item>L</item>
<item>L</item>
<item>L</item>
<item>L</item>
<item>L</item>
<item>L</item>
<item>L</item>
<item>M</item>
<item>M</item>
<item>M</item>
<item>M</item>
<item>M</item>
<item>N</item>
<item>N</item>
<item>N</item>
<item>N</item>
<item>N</item>
<item>N</item>
<item>N</item>
<item>Q</item>
<item>Q</item>
<item>Q</item>
<item>Q</item>
<item>Q</item>
<item>Q</item>
<item>Q</item>
<item>S</item>
<item>S</item>
<item>S</item>
<item>S</item>
<item>S</item>
<item>S</item>
<item>S</item>
<item>S</item>
<item>S</item>
<item>S</item>
<item>T</item>
<item>T</item>
<item>T</item>
<item>T</item>
<item>T</item>
<item>T</item>
<item>W</item>
<item>W</item>
<item>W</item>
<item>W</item>
<item>W</item>
<item>W</item>
<item>W</item>
<item>W</item>
<item>W</item>
<item>W</item>
<item>W</item>
<item>X</item>
<item>X</item>
<item>X</item>
<item>X</item>
<item>X</item>
<item>X</item>
<item>X</item>
<item>Y</item>
<item>Y</item>
<item>Y</item>
<item>Y</item>
<item>Y</item>
<item>Y</item>
<item>Y</item>
<item>Y</item>
<item>Y</item>
<item>Y</item>
<item>Y</item>
<item>Z</item>
<item>Z</item>
<item>Z</item>
<item>Z</item>
<item>Z</item>
<item>Z</item>
<item>Z</item>
<item>Z</item>
<item>Z</item>
</string-array>
[html]
<string-array name="city_description_list">
<item>北京首都</item>
<item>上海虹橋</item>
<item>上海浦東</item>
<item>廣州</item>
<item>深圳</item>
<item>香港</item>
<item>澳門</item>
<item>天津</item>
<item>成都</item>
<item>重慶</item>
<item>南京</item>
<item>青島</item>
<item>珠海</item>
<item>福州</item>
<item>哈爾濱</item>
<item>大連</item>
<item>海口</item>
<item>沈陽</item>
<item>廈門</item>
<item>安慶</item>
<item>鞍山</item>
<item>阿克蘇</item>
<item>阿勒泰</item>
<item>安康</item>
<item>北京首都</item>
<item>北京南苑</item>
<item>保山</item>
<item>包頭</item>
<item>北海</item>
<item>蚌埠</item>
<item>重慶</item>
<item>成都</item>
<item>長沙</item>
<item>長春</item>
<item>常德</item>
<item>長治</item>
<item>常州</item>
<item>朝陽</item>
<item>赤峰</item>
<item>大連</item>
<item>敦煌</item>
<item>大理</item>
<item>達縣</item>
<item>東營</item>
<item>丹東</item>
<item>大同</item>
<item>恩施</item>
<item>福州</item>
<item>阜陽</item>
<item>富蘊</item>
<item>廣州</item>
<item>桂林</item>
<item>貴陽</item>
<item>格爾木</item>
<item>廣漢</item>
<item>贛州</item>
<item>海口</item>
<item>哈爾濱</item>
<item>杭州</item>
<item>合肥</item>
<item>黃山</item>
<item>呼和浩特</item>
<item>海拉爾</item>
<item>哈密</item>
<item>漢中</item>
<item>黑河</item>
<item>衡陽</item>
<item>和田</item>
<item>黃巖</item>
<item>吉林</item>
<item>濟南</item>
<item>九江</item>
<item>九寨黃龍</item>
<item>吉安</item>
<item>佳木斯</item>
<item>嘉峪關</item>
<item>濟寧</item>
<item>景德鎮</item>
<item>景洪</item>
<item>晉江</item>
<item>錦州</item>
<item>酒泉</item>
<item>昆明</item>
<item>克拉瑪依</item>
<item>喀什</item>
<item>庫爾勒</item>
<item>庫車</item>
<item>洛陽</item>
<item>蘭州</item>
<item>拉薩</item>
<item>連雲港</item>
<item>麗江</item>
<item>臨沂</item>
<item>柳州</item>
<item>泸州</item>
<item>芒市</item>
<item>梅縣</item>
<item>綿陽</item>
<item>牡丹江</item>
<item>滿洲裡</item>
<item>南京</item>
<item>寧波</item>
<item>南昌</item>
<item>南寧</item>
<item>南通</item>
<item>南充</item>
<item>南陽</item>
<item>青島</item>
<item>秦皇島</item>
<item>齊齊哈爾</item>
<item>泉州</item>
<item>衢州</item>
<item>且末</item>
<item>慶陽</item>
<item>沈陽</item>
<item>深圳</item>
<item>上海虹橋</item>
<item>上海浦東</item>
<item>汕頭</item>
<item>石家莊</item>
<item>蘇州</item>
<item>三亞</item>
<item>沙市</item>
<item>思茅</item>
<item>天津</item>
<item>塔城</item>
<item>太原</item>
<item>通化</item>
<item>通遼</item>
<item>銅仁</item>
<item>溫州</item>
<item>武漢</item>
<item>武漢王家</item>
<item>無錫</item>
<item>烏魯木齊</item>
<item>威海</item>
<item>梧州</item>
<item>萬縣</item>
<item>濰坊</item>
<item>烏蘭浩特</item>
<item>武夷山</item>
<item>廈門</item>
<item>徐州</item>
<item>西安</item>
<item>西寧</item>
<item>西昌</item>
<item>襄樊</item>
<item>錫林浩特</item>
<item>銀川</item>
<item>延安</item>
<item>延吉</item>
<item>煙台</item>
<item>鹽城</item>
<item>宜賓</item>
<item>宜昌</item>
<item>伊寧</item>
<item>義烏</item>
<item>永州</item>
<item>榆林</item>
<item>珠海</item>
<item>昭通</item>
<item>張家界</item>
<item>湛江</item>
<item>芷江</item>
<item>中甸</item>
<item>舟山</item>
<item>遵義</item>
<item>鄭州</item>
</string-array>
在Activity中聲明兩個List,然後讀取數據到list
[java]
private List<String> list = new ArrayList<String>();
private List<String> listTag = new ArrayList<String>();
[java]
public void getData() {
String city_name_list[] = CityListActivity.this.getResources()
.getStringArray(R.array.city_description_list);
String city_list_tag[] = CityListActivity.this.getResources()
.getStringArray(R.array.city_group_list);
// ///////////////////////////
String cityTag[] = { "熱門", "A", "B", "C", "D", "E", "F", "G", "H", "J",
"K", "L", "M", "N", "Q", "S", "T", "W", "X", "Y", "Z" };
int listsize[] = { 0, 19, 5, 6, 9, 7, 1, 3, 6, 13, 13, 5, 8, 5, 7, 7,
10, 6, 11, 7, 11, 9 };
for (int j = 1; j < listsize.length; j++) {
list.add(cityTag[j - 1]);
listTag.add(cityTag[j - 1]);
listsize[j] = listsize[j - 1] + listsize[j];
for (int i = listsize[j - 1]; i < listsize[j]; i++) {
list.add(city_name_list[i]);
// System.out.println(city_list_tag[i]);
span style="white-space:pre"> </span>//city_group.add(city_list_tag[i]);
}
}
}
適配器中這樣寫:
其中return super.isEnabled(position);設置城市首字母標示不可選
[java]
public class CityListAdapter extends ArrayAdapter<String>{
private List<String> listTag = null;
public CityListAdapter(Context context, List<String> objects, List<String> tags) {
super(context, 0, objects);
this.listTag = tags;
}
@Override
public boolean isEnabled(int position) {
if(listTag.contains(getItem(position))){
return false;
}
return super.isEnabled(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if(listTag.contains(getItem(position))){
view = LayoutInflater.from(getContext()).inflate(R.layout.citylist_tag, null);
}else{
view = LayoutInflater.from(getContext()).inflate(R.layout.citylist_item, null);
}
TextView textView = (TextView) view.findViewById(R.id.group_list_item_text);
textView.setText(getItem(position));
return view;
}
}
0x00閱讀本文前,建議讀者首先閱讀Android加殼原理,參考文章Android中的Apk的加固(加殼)原理解析和實現。如果沒有看過這篇文章,本文理解起來比較困難。0x
之前的項目裡要做一個異步更新UI的功能,但是結果出現了ANR,所以想寫個demo來測試到底是哪個地方出現了問題,結果發現原來的思路是沒有問題,郁悶~~ 現在這個demo
閒談最近公司事情不算太多,閒來無事,看到項目中用到的廣告輪播圖,之前都是使用第三方的,趁事情不算多,所以自己實現一個廣告位輪播圖barner組件,這樣的話,在以後的開發中
在我們實際開發中,常常需要有對話框彈出跟用戶交互。AndroidOS提供有多種對話框,這一節,我們介紹一下AlertDialog和幾個常用Dialog,AlertDial