Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Fastadapter | 3,721 | 176 | 16 | 3 months ago | 138 | November 24, 2021 | 7 | apache-2.0 | Kotlin | |
The bullet proof, fast and easy to use adapter library, which minimizes developing time to a fraction... | ||||||||||
Shimmerrecyclerview | 3,458 | 2 years ago | 13 | other | Kotlin | |||||
Flexibleadapter | 3,405 | 2 years ago | 60 | apache-2.0 | Java | |||||
Fast and versatile Adapter for RecyclerView which regroups several features into one library to considerably improve the user experience :-) | ||||||||||
Tableview | 2,858 | 2 years ago | 181 | mit | Java | |||||
TableView is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells. | ||||||||||
Easyrecyclerview | 2,039 | 6 years ago | 108 | Java | ||||||
ArrayAdapter,pull to refresh,auto load more,Header/Footer,EmptyView,ProgressView,ErrorView | ||||||||||
Graywater | 1,208 | 5 years ago | 1 | apache-2.0 | Java | |||||
An Android library for decomposing RecyclerView layouts to improve scroll performance. | ||||||||||
Lastadapter | 756 | 5 years ago | 12 | apache-2.0 | Kotlin | |||||
Don't write a RecyclerView adapter again. Not even a ViewHolder! | ||||||||||
Oneadapter | 444 | 19 days ago | 3 | mit | Kotlin | |||||
A Viewholderless Adapter for RecyclerView, who supports builtin diffing, states (paging, empty...), events (clicking, swiping...), and more. | ||||||||||
Ycrefreshview | 431 | a year ago | 10 | apache-2.0 | Java | |||||
自定义支持上拉加载更多,下拉刷新,可以自定义头部和底部,可以添加多个headerView,使用一个原生recyclerView就可以搞定复杂界面。支持自由切换状态【加载中,加载成功,加载失败,没网络等状态】的控件,可以自定义状态视图View。拓展功能【支持长按拖拽,侧滑删除】,轻量级,可以选择性添加 。多年前已经使用于前项目投资界,新芽,沙丘大学等APP正式项目中!持续更新…… | ||||||||||
Efficientadapter | 427 | 5 | 1 | 4 years ago | 5 | February 21, 2021 | 2 | apache-2.0 | Java | |
Create a new adapter for a RecyclerView or ViewPager is now much easier. |
Creating adapters is as easy as never before, just follow the steps below:
dependencies {
implementation "com.leodroidcoder:generic-adapter:1.0.1"
}
public class UserViewHolder extends BaseViewHolder<User, OnRecyclerItemClickListener> {
private TextView nameTv;
public UserViewHolder(View itemView, OnRecyclerItemClickListener listener) {
super(itemView, listener);
// initialize view and set click listener
nameTv = itemView.findViewById(R.id.tv_name);
if (listener != null) {
itemView.setOnClickListener(v -> listener.onItemClick(getAdapterPosition()));
}
}
@Override
public void onBind(User item) {
// bind data to the views
nameTv.setText(item.getName());
}
}
class UserViewHolder(itemView: View, listener: OnRecyclerItemClickListener?) : BaseViewHolder<User, OnRecyclerItemClickListener>(itemView, listener) {
private val nameTv: TextView? = itemView.tv_name
init {
listener?.run {
itemView.setOnClickListener { onItemClick(adapterPosition) }
}
}
override fun onBind(item: User) {
nameTv?.text = item.name
}
}
public class SimpleAdapter extends GenericRecyclerViewAdapter<User, OnRecyclerItemClickListener, UserViewHolder> {
public SimpleAdapter(Context context, OnRecyclerItemClickListener listener) {
super(context, listener);
}
@Override
public UserViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new UserViewHolder(inflate(R.layout.item_user, parent), getListener());
}
}
class SimpleAdapter(context: Context, listener: OnRecyclerItemClickListener) : GenericRecyclerViewAdapter<User, OnRecyclerItemClickListener, UserViewHolder>(context, listener) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): UserViewHolder {
return UserViewHolder(inflate(R.layout.item_user, parent), listener)
}
}
Just use it as a regular adapter in your Fragment or Activity:
public class YourFragment extends Fragment implements OnRecyclerItemClickListener {
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
// ...
// instantiate the adapter and set it onto a RecyclerView
SimpleAdapter adapter = new SimpleAdapter(getActivity(), this);
recyclerView.setAdapter(adapter);
// populate adapter with data when it is ready
List<User> users = getYourUsers();
adapter.setItems(users);
}
/**
* This is a callback of the recycler listener.
* {@link OnRecyclerItemClickListener}.
* Is being triggered when an item has been clicked.
*
* @param position clicked position
*/
@Override
public void onItemClick(int position) {
// get the User entity, associated with the clicked item.
final User clickedUser = adapter.getItem(position);
// do whatever you want with it
}
}