通用 Adapter 和 ViewHolder BGAAdapter
- 授权协议: Apache 2.0
- 开发语言: Java
- 操作系统: Android
- 软件首页: https://github.com/bingoogolapple/BGAAdapter-Android
- 软件文档: https://github.com/bingoogolapple/BGAAdapter-Android/blob/master/README.md
- 官方下载: https://github.com/bingoogolapple/BGAAdapter-Android/archive/master.zip
软件介绍
在AdapterView和RecyclerView中通用的Adapter和ViewHolder,使AdapterView和RecyclerView适配器的使用方式基本一致。
效果图:
示例代码:
使用非常简单,这里展示一下ListView和RecyclerView实现qq聊天界面的适配器。
public class ListChatAdapter extends BGAAdapterViewAdapter<ChatModel> {
public ListChatAdapter(Context context) {
super(context, R.layout.item_chat);
}
/**
* 为item的孩子节点设置监听器,并不是每一个数据列表都要为item的子控件添加事件监听器,所以在父类中采用了空实现,需要设置事件监听器时重写该方法即可
*
* @param viewHolderHelper
*/
@Override
protected void setItemChildListener(BGAViewHolderHelper viewHolderHelper) {
}
@Override
public void fillData(BGAViewHolderHelper viewHolderHelper, int position, ChatModel model) {
if (model.mUserType == ChatModel.UserType.From) {
viewHolderHelper.setVisibility(R.id.rl_item_chat_to, View.GONE);
viewHolderHelper.setVisibility(R.id.rl_item_chat_from, View.VISIBLE);
String htmlMsg = String.format(mContext.getString(R.string.color_msg_from), model.mMsg);
viewHolderHelper.setHtml(R.id.tv_item_chat_from_msg, htmlMsg);
} else {
viewHolderHelper.setVisibility(R.id.rl_item_chat_from, View.GONE);
viewHolderHelper.setVisibility(R.id.rl_item_chat_to, View.VISIBLE);
String htmlMsg = String.format(mContext.getString(R.string.color_msg_to), model.mMsg);
viewHolderHelper.setHtml(R.id.tv_item_chat_to_msg, htmlMsg);
}
}
}
数据结构与算法分析(C++版)(第3版)
Clifford A. Shaffer / 张铭、刘晓丹、等译 / 电子工业出版社 / 2013 / 59.00元
本书采用当前流行的面向对象的C++程序设计语言来描述数据结构和算法, 因为C++语言是程序员最广泛使用的语言。因此, 程序员可以把本书中的许多算法直接应用于将来的实际项目中。尽管数据结构和算法在设计本质上还是很底层的东西, 并不像大型软件工程项目开发那样, 对面向对象方法具有直接的依赖性, 因此有人会认为并不需要采用高层次的面向对象技术来描述底层算法。 但是采用C++语言能更好地体现抽象数据类型的......一起来看看 《数据结构与算法分析(C++版)(第3版)》 这本书的介绍吧!




