成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android源碼:獲取全國城市列表 類似于聯系人排序

移動開發 Android
中國城市列表,類似手機通訊錄顯示方式,可以通過觸摸屏幕右邊城市拼音首字母快速定位,還可通過中文、拼音快速查找。**修改demo在小米手機上排序錯誤的問題需要的朋友可以參考一下!如有侵權,請見諒..

功能分類:工具

支持平臺:Android

運行環境:Eclipse

開發語言:Java

開發工具:Eclipse

源碼大小:1.24MB

源碼下載地址:http://down.51cto.com/data/1977281

源碼簡介

項目源地址:https://github.com/kk-java/ChineseCityList

中國城市列表,類似手機通訊錄顯示方式,可以通過觸摸屏幕右邊城市拼音首字母快速定位,還可通過中文、拼音快速查找。

** 修改demo在小米手機上排序錯誤的問題

需要的朋友可以參考一下!

如有侵權,請見諒..

源碼運行截圖

    運行截圖

    運行截圖

    運行截圖

源碼片段

  1. package com.liucanwen.citylist; 
  2.   
  3. import java.util.ArrayList; 
  4. import java.util.List; 
  5.   
  6. import android.app.Activity; 
  7. import android.content.Context; 
  8. import android.os.AsyncTask; 
  9. import android.os.Bundle; 
  10. import android.text.Editable; 
  11. import android.text.TextWatcher; 
  12. import android.util.Log; 
  13. import android.view.View; 
  14. import android.widget.AdapterView; 
  15. import android.widget.EditText; 
  16. import android.widget.Toast; 
  17.   
  18. import com.liucanwen.citylist.adapter.CityAdapter; 
  19. import com.liucanwen.citylist.data.CityData; 
  20. import com.liucanwen.citylist.model.CityItem; 
  21. import com.liucanwen.citylist.widget.ContactItemInterface; 
  22. import com.liucanwen.citylist.widget.ContactListViewImpl; 
  23.   
  24. public class CityListActivity extends Activity implements TextWatcher 
  25.     private Context context_ = CityListActivity.this
  26.   
  27.     private ContactListViewImpl listview; 
  28.   
  29.     private EditText searchBox; 
  30.     private String searchString; 
  31.   
  32.     private Object searchLock = new Object(); 
  33.     boolean inSearchMode = false
  34.   
  35.     private final static String TAG = "MainActivity2"
  36.   
  37.     List<contactiteminterface> contactList; 
  38.     List<contactiteminterface> filterList; 
  39.     private SearchListTask curSearchTask = null
  40.   
  41.     @Override 
  42.     public void onCreate(Bundle savedInstanceState) 
  43.     { 
  44.         super.onCreate(savedInstanceState); 
  45.         setContentView(R.layout.citylist); 
  46.   
  47.         filterList = new ArrayList<contactiteminterface>(); 
  48.         contactList = CityData.getSampleContactList(); 
  49.   
  50.         CityAdapter adapter = new CityAdapter(this,R.layout.city_item, contactList); 
  51.   
  52.         listview = (ContactListViewImpl) this.findViewById(R.id.listview); 
  53.         listview.setFastScrollEnabled(true); 
  54.         listview.setAdapter(adapter); 
  55.   
  56.         listview.setOnItemClickListener(new AdapterView.OnItemClickListener() 
  57.         { 
  58.             @Override 
  59.             public void onItemClick(AdapterView parent, View v, int position, 
  60.                     long id) 
  61.             { 
  62.                 List<contactiteminterface> searchList = inSearchMode ? filterList 
  63.                         : contactList; 
  64.   
  65.                 Toast.makeText(context_, 
  66.                         searchList.get(position).getDisplayInfo(), 
  67.                         Toast.LENGTH_SHORT).show(); 
  68.             } 
  69.         }); 
  70.   
  71.         searchBox = (EditText) findViewById(R.id.input_search_query); 
  72.         searchBox.addTextChangedListener(this); 
  73.     } 
  74.   
  75.     @Override 
  76.     public void afterTextChanged(Editable s) 
  77.     { 
  78.         searchString = searchBox.getText().toString().trim().toUpperCase(); 
  79.   
  80.         if (curSearchTask != null 
  81.                 && curSearchTask.getStatus() != AsyncTask.Status.FINISHED) 
  82.         { 
  83.             try 
  84.             { 
  85.                 curSearchTask.cancel(true); 
  86.             } catch (Exception e) 
  87.             { 
  88.                 Log.i(TAG, "Fail to cancel running search task"); 
  89.             } 
  90.   
  91.         } 
  92.         curSearchTask = new SearchListTask(); 
  93.         curSearchTask.execute(searchString); 
  94.     } 
  95.   
  96.     @Override 
  97.     public void beforeTextChanged(CharSequence s, int start, int count, 
  98.             int after) 
  99.     { 
  100.     } 
  101.   
  102.     @Override 
  103.     public void onTextChanged(CharSequence s, int start, int before, int count) 
  104.     { 
  105.         // do nothing 
  106.     } 
  107.   
  108.     private class SearchListTask extends AsyncTask<string, void,="" string=""
  109.     { 
  110.   
  111.         @Override 
  112.         protected String doInBackground(String... params) 
  113.         { 
  114.             filterList.clear(); 
  115.   
  116.             String keyword = params[0]; 
  117.   
  118.             inSearchMode = (keyword.length() > 0); 
  119.   
  120.             if (inSearchMode) 
  121.             { 
  122.                 // get all the items matching this 
  123.                 for (ContactItemInterface item : contactList) 
  124.                 { 
  125.                     CityItem contact = (CityItem) item; 
  126.   
  127.                     boolean isPinyin = contact.getFullName().toUpperCase().indexOf(keyword) > -1
  128.                     boolean isChinese = contact.getNickName().indexOf(keyword) > -1
  129.   
  130.                     if (isPinyin || isChinese) 
  131.                     { 
  132.                         filterList.add(item); 
  133.                     } 
  134.   
  135.                 } 
  136.   
  137.             } 
  138.             return null
  139.         } 
  140.   
  141.         protected void onPostExecute(String result) 
  142.         { 
  143.   
  144.             synchronized (searchLock) 
  145.             { 
  146.   
  147.                 if (inSearchMode) 
  148.                 { 
  149.   
  150.                     CityAdapter adapter = new CityAdapter(context_,R.layout.city_item, filterList); 
  151.                     adapter.setInSearchMode(true); 
  152.                     listview.setInSearchMode(true); 
  153.                     listview.setAdapter(adapter); 
  154.                 } else 
  155.                 { 
  156.                     CityAdapter adapter = new CityAdapter(context_,R.layout.city_item, contactList); 
  157.                     adapter.setInSearchMode(false); 
  158.                     listview.setInSearchMode(false); 
  159.                     listview.setAdapter(adapter); 
  160.                 } 
  161.             } 
  162.   
  163.         } 
  164.     } 
  165.   
  166. </string,></contactiteminterface></contactiteminterface></contactiteminterface></contactiteminterface> 

源碼下載地址:http://down.51cto.com/data/1977281

責任編輯:閆佳明 來源: 網絡整理
相關推薦

2014-12-30 11:51:35

ListViewItem View

2012-03-01 19:44:18

Android

2011-05-26 14:42:34

Android 手機

2012-05-21 14:36:18

Facebook開源

2012-05-22 09:21:10

數據中心PUEFacebook數據中

2010-01-27 14:08:56

Android查詢聯系

2017-09-01 15:42:00

MySQLOracledblink功能

2010-01-27 10:09:14

2015-11-11 10:17:15

ios9聯系人框架干貨

2015-03-10 14:41:56

AppStudio

2012-02-02 17:16:11

Windows PhoC#聯系人資料

2020-02-02 14:45:55

聯系人開源工具

2020-11-19 15:26:36

SQLPandas代碼

2023-10-29 15:14:22

人工智能鴿子

2011-08-12 10:16:10

iPhone通訊錄聯系人

2021-06-10 14:14:50

Windows命名微軟

2012-03-26 21:38:36

智能

2013-09-17 09:51:49

谷歌Bump移動應用

2010-02-03 09:15:09

Linux XDMCP

2019-11-07 09:20:36

Windows 10聯系人Outlook
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品91 | 欧美日韩黄 | 在线免费看黄 | 牛牛热在线视频 | 三级在线免费 | 国产激情福利 | 老头搡老女人毛片视频在线看 | 精品国产乱码久久久久久牛牛 | 久久福利电影 | 国产成人jvid在线播放 | 欧美精品二区三区 | 99国产精品99久久久久久 | 青青久久 | 99久久精品国产一区二区三区 | 精精国产xxxx视频在线播放 | 国产美女福利在线观看 | 高清成人av| 欧美日韩亚洲国产综合 | 观看毛片 | 午夜寂寞影院在线观看 | www.4虎影院 国产999精品久久久影片官网 | 久久久久久成人网 | 亚洲一区久久久 | 亚洲免费婷婷 | 久久精品国产精品青草 | 99在线观看视频 | 亚洲成人免费在线观看 | 黄色毛片免费看 | 精品一二区 | 精品国产精品一区二区夜夜嗨 | 中国大陆高清aⅴ毛片 | 97精品超碰一区二区三区 | 黄色一级大片在线免费看产 | 成人免费在线小视频 | 一级无毛片 | 婷婷色综合 | 在线观看亚洲精品视频 | 精品一区国产 | 日韩成人在线网址 | 日本成人午夜影院 | 黄视频免费 |