ListView分拦,顶部停留,两个ListView联动显示效果

本文分享了一个实现ListView分栏,并且顶部栏在滚动时可以停留的效果,同时介绍如何实现两个ListView之间的联动显示。通过提供的源码链接,读者可以详细研究并应用于自己的项目中。
摘要由CSDN通过智能技术生成
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值