package com.example.androidtest;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.TextView;
import com.emilsjolander.components.stickylistheaders.StickyListHeadersAdapter;
import com.emilsjolander.components.stickylistheaders.StickyListHeadersListView;
public class MainActivity extends Activity {
private ListView leftListView;
private StickyListHeadersListView rightRistView;
/**
* 存放所有的字母对应的分组显示的索引位置 如: A:0第一条的头部显示分组A
*
* B:5在第六条记录显示分组B
*/
private HashMap<String, Integer> letterMap;
/** 分组的显示的索引位置 */
private int groupPosition;
/** 通讯录所有的联系人 */
private List<ContactInfo> contacts;
/** 通讯录中所有的分组的首字母(已去重) */
private ArrayList<String> letterList;
/** 左边字母的适配器 */
private MyLetterAdapter leftAdapter;
/** 右边listview的适配器 */
private MyAdapter rightAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
contacts = getContacts(getContentResolver());
if (contacts != null && contacts.size() > 0) {
// 初始化
letterMap = new HashMap<String, Integer>();
sortContanctList();
countGroupPosition(contacts);
leftAdapter = new MyLetterAdapter(letterList);
rightAdapter = new MyAdapter(contacts);
leftListView.setAdapter(leftAdapter);
rightRistView.setAdapter(rightAdapter);
setListener();
}
}
/**
* 设置事件监听
*/
private void setListener() {
leftListView.setOnItemClickListener(ne
ListView分拦,顶部停留,两个ListView联动显示效果
最新推荐文章于 2018-04-25 16:04:06 发布
本文分享了一个实现ListView分栏,并且顶部栏在滚动时可以停留的效果,同时介绍如何实现两个ListView之间的联动显示。通过提供的源码链接,读者可以详细研究并应用于自己的项目中。
摘要由CSDN通过智能技术生成