android adapter bean目录,EasyAdapter Android 轻量级万能适配器,通吃所有的 AbsListView、RecyclerView @codeKK Android开源...

Android 万能适配器,通吃所有的 AbsListView、RecyclerView。

添加依赖

// 不包含 v7 和 recyclerview 的依赖,需自行在项目中引入

compile 'com.yuyh.easyadapter:library:1.2.0'

用法

step1

// ListView

public class ListViewAdapter extends EasyLVAdapter {

public ListViewAdapter(Context context, List list, int... layoutIds) {

super(context, list, layoutIds);

}

@Override

public void convert(EasyLVHolder holder, int position, final Bean bean) {

holder.setText(R.id.tv, bean.name)

.setText(R.id.tv2, bean.name2)

.setImageResource(R.id.img, context.getResource().getDrawable(bean.imgRes));

}

@Override

public int getLayoutIndex(int position, Bean item) {

// 若需多样式布局,则重写该方法

if (position % 2 == 0)

return 1;

else return 0;

}

}

// RecyclerView

public class RecyclerViewAdapter extends EasyRVAdapter {

public RecyclerViewAdapter(Context context, List list, int... layoutIds) {

super(context, list, layoutIds);

}

@Override

protected void onBindData(EasyRVHolder viewHolder, final int position, Bean item) {

viewHolder.setText(R.id.tv, item.name);

// 自定义点击可覆盖父类的 setOnItemClickListener

/*viewHolder.getItemView().setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Toast.makeText(mContext, position+"---", Toast.LENGTH_SHORT).show();

}

});*/

viewHolder.setImageUrl(R.id.iv, "https://img.25pp.com//ppnews/zixun_img/6fc/096/1444271700253231.jpg");

}

@Override

public int getLayoutIndex(int position, Bean item) {

if (position % 2 == 0)

return 0;

else return 1;

}

}

step2

// 1、若需要调用 adapter.setImageUrl,可以在 Application 配置全局统一回调

AdapterImageLoader.init(new AdapterImageLoader.ImageLoader() {

@Override

public void loadImage(Context context, String url, ImageView view) {

Glide.with(context)

.load(url)

.into(view);

}

});

// 2、若 adapter 需要单独定制 ImageLoader,比如 placeHolder,则重写该方法,以替换全局初始化的 ImageLoader

@Override

public AdapterImageLoader.ImageLoader getImageLoader() {

return new AdapterImageLoader.ImageLoader() {

@Override

public void loadImage(Context context, String url, ImageView view) {

Glide.with(context)

.load(url)

.override(10, 10)

.into(view);

}

};

}

step3

ListView lv = (ListView) findViewById(R.id.lv);

lv.setAdapter(new ListViewAdapter(this, list, R.layout.item_list_view_1, R.layout.item_list_view_2));

数据操作

EasyXXAdapter 提供以下方法,便于对 List 数据的增删改。

boolean addAll(List list);

boolean addAll(int position, List list);

void add(T data);

void add(int position, T data);

void clear();

boolean contains(T data);

T getData(int index);

void modify(T oldData, T newData);

void modify(int index, T newData);

boolean remove(T data);

void remove(int index);

// RV 独有 点击事件

void setOnItemClickListener(OnItemClickListener itemClickListener);

// RV 独有 长按事件

void setOnItemLongClickListener(OnItemLongClickListener itemLongClickListener);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值