Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android listview按字母顺序显示_Android_Listview_Alphabetic - Fatal编程技术网

Android listview按字母顺序显示

Android listview按字母顺序显示,android,listview,alphabetic,Android,Listview,Alphabetic,我从Json获得了响应,需要按顺序名称显示结果。在实现Hashmap之后,我意识到它不是按字母顺序排序的,我该怎么做 public ArrayList<HashMap<String, String>> contactList= new ArrayList<HashMap<String, String>>(); Collections.sort(contactList, new Comparator<String>() {

我从Json获得了响应,需要按顺序名称显示结果。在实现Hashmap之后,我意识到它不是按字母顺序排序的,我该怎么做

public ArrayList<HashMap<String, String>> contactList= new ArrayList<HashMap<String, String>>();

Collections.sort(contactList, new Comparator<String>() {
        @Override
        public int compare(String s1, String s2) {
            return s1.compareToIgnoreCase(s2);
        }
    });
public ArrayList contactList=new ArrayList();
Collections.sort(contactList,newcomparator(){
@凌驾
公共整数比较(字符串s1、字符串s2){
返回s1.compareToIgnoreCase(s2);
}
});
代码:

受保护的void onPostExecute(void结果){
super.onPostExecute(结果);
if(pDialog.isShowing())
pDialog.disclose();
SimpleAdapter适配器=新SimpleAdapter(
HomeActivity.this、contactList、,
R.layout.list_项,新字符串[]{TAG_FNAME},新int[]{R.id.textView1});
setListAdapter(适配器);
adapter.notifyDataSetChanged();
lv.setOnItemClickListener(新的OnItemClickListener(){
公共无效MClick(AdapterView父级、,
视图、整型位置、长ID){
意图i=新意图(getApplicationContext(),
SingleListActivity.class);
HashMap contact=contactList.get(位置);
i、 putExtra(“id”,id);
i、 putExtra(“名字”,名字);
i、 putExtra(“姓氏”,姓氏);
i、 putExtra(“标题”,标题);
i、 putExtra(“pictureUrl”,pictureUrl);
i、 putExtra(“url”,url);
星触觉(i);
}
});

在这个例子中,它同时包含名字和姓氏,我该怎么做?

要对HashMap的ArrayList进行排序,请使用以下代码

public ArrayList<HashMap<String, String>> contactList= new ArrayList<HashMap<String, String>>();

Collections.sort(contactList, new Comparator<String>() {
        @Override
        public int compare(String s1, String s2) {
            return s1.compareToIgnoreCase(s2);
        }
    });
Collections.sort(ArrayList,new Comparator<HashMap<String,String>>(){
public int compare(HashMap<String,String> mapping1,HashMap<String,String> mapping2){
    return mapping1.get("Name").compareTo(mapping2.get("Name"));
Collections.sort(ArrayList,newcomparator(){
公共int比较(HashMap映射1、HashMap映射2){
返回mapping1.get(“Name”).compareTo(mapping2.get(“Name”));
}

在大多数情况下,HashMaps具有相同的键,因此您可以使用此代码。(将“名称”更改为您的键)。将ArrayList替换为您的ArrayList名称,在您的情况下为contactList

希望这有帮助:)

如果您正在检查“如何对每个包含多个键值对的哈希映射的数组列表进行排序”,那么已经讨论过了,请查看


如果您正在检查“android listview按字母顺序显示”,请查看此stackoverflow讨论

Collections.sort(list);我使用了上面的方法,但没有按顺序显示…@Prag'sシ