basic-adapter for recyclerview
A common tool adapter for Android RecyclerView.basic functions of current version as below:
choice mode
in ListViewGrab via Maven:
<dependency>
<groupId>com.lhalcyon</groupId>
<artifactId>basic-adapter</artifactId>
<version>1.0.1</version>
<type>pom</type>
</dependency>
or Gradle:
compile 'com.lhalcyon:basic-adapter:1.0.1'
Initialize adapter :
BasicParams p = new BasicController.Builder()
.layoutRes(R.layout.item)//normal item layout resource ,necessary
.build();
mRecyclerView.setAdapter(mAdapter = new MyAdapter(p,list));
Optional configuration as below:
BasicParams p = new BasicController.Builder()
.layoutRes(R.layout.item)
.header(header)
.header(header2)
.footer(footer)
.empty(empty)
.loaded(loaded)//loaded view
.loading(loading)//loading view
.onLoadMore(new OnLoadMoreListener() {//load more listener
@Override
public void onLoad() {
//do loading thing
}
})
.build();
Checkable item config:
BasicParams params = new BasicController.Builder()
.checkId(R.id.checkbox)
.choiceMode(BasicController.CHOICE_MODE_MULTIPLE)
.layoutRes(R.layout.item_check)
.build();
Then override method isItemChecked(T t,int position)
and set OnItemClickListener
which is necessary
mRecyclerView.setAdapter(mAdapter = new CheckAdapter(params,mManList){
@Override
public boolean isItemChecked(Man man, int position) {
return man.isSingle;//check state associated with bean
}
});
mAdapter.setOnItemClickListener(mRecyclerView, new OnItemClickListener() {
@Override
public void onItemClick(BaseViewHolder vh, int position) {
//do item click thing
}
});
single choice mode:
multiple choice mode:
Gif is under poor quality :( ,but the lib works well shown on real device and virtual device
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.