android列表实现置顶,Android 在ListView中实现置顶功能

这篇博客详细介绍了如何在Android中实现ListView的置顶功能。主要通过自定义ArrayAdapter,利用数据排序来实现。文章提到,关键在于使数据模型实现Comparable接口,并在compareTo()方法中处理置顶逻辑。此外,还展示了使用DialogFragment和回调接口进行交互以切换置顶状态。
摘要由CSDN通过智能技术生成

在项目中实现了ListView置顶的功能,所以自己打算写一下博客记录下来。

其实实现起来还是挺简单的,核心思想是改变其adapter里的数据排序。

效果如图哈

b5001c832c2d

那么开始吧

1 首先你要实现ListView吧,这个很简单,就不多说了,其次是要自己继承 Arrayadapter,因为要用到数据的排序,所以使用Arrayadapter绑定你的数据。

public SessionItemAdapter extends ArrayAdapter {

Context mContext;

/**

* 不建议使用这种方式 将数据与adapter进行绑定,如果要进行数据更新等操作

* 因为数据引用是相同的情况,会同步影响数据的变更。例如使用clean()方法消除数据

* 不仅仅消除了adapter里面的数据,还会清除了相同内存地址的数据源

*/

public SessionItemAdapter(Context context, List sessions) {

super(context, 0, sessions);

mContext = context;

}

public SessionItemAdapter(Context context) {

super(context, 0, new ArrayList());

mContext = context;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

if (convertView == null) {

convertView = new ItemView(mContext);

}

ItemView itemView = (ItemView) convertView;

itemView.setText(String.valueOf(getItem(position).getTop()));

itemView.setAvatar(getItem(position).getAvatar());

if (getItem(position).getTop() == 1) {

itemView.setBackgroundResource(R.drawable.bg_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值