Android recyclerView 通用Adapter(最新版本 com.github.Koyoka:Android-RVAdapter:1.0.2)
下拉刷新 | 上拉加载 | Grid | 多ViewHolder
- 依赖
root build.gradle:
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}module build.gradle:
implementation 'com.github.Koyoka:Android-RVAdapter:1.0.2'- demo 简单调用
public class MainActivity extends AppCompatActivity {
private ArrayList<MyViewModel> source;
private CommonRcyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
source = new ArrayList<>();
for(int i = 0; i< 150; i++){
source.add(new MyViewModel("00"+i));
}
adapter = ComAdapterFactory.newInstance()
.injectRecyclerView(this, source, recyclerView, MyViewHolder.class);
adapter.setOnRecyclerItemClickListen(position -> {
Toast.makeText(this, source.get(position).text, Toast.LENGTH_LONG).show();
});
}
//region recyclerView
public static class MyViewModel extends RcyHolderViewModel{
public String text;
public MyViewModel(String text){
this.text = text;
}
}
@BindResId(R.layout.item_text_view)
public static class MyViewHolder extends RcyBaseViewHolder<MyViewModel>
implements RcyHolderViewEventMng.RegisterItemClick{
private TextView txtView;
public MyViewHolder(View itemView) {
super(itemView);
txtView = $(itemView, R.id.txtView);
}
@Override
public void bindData(MyViewModel vm) {
txtView.setText(vm.text);
}
@Override
public View getClickItemView() {
return txtView;
}
}
//endregion
}- demo 定义配置测试Item
public class AutoPkgActivity extends AutoBasePkgActivity {
@Override
protected int getResPkgArrayId() {
return R.array.fragmentMenu;
}
}
public class TestItemFragment extends AutoTestItemFragment {
@Override
protected TestFuncs buildTestFuncs() {
return new TestFuncs() {
@Override
public void testItem() {
addd("测试Toast", () -> {
Toast.makeText(getContext(), "111", Toast.LENGTH_SHORT).show();
});
}
};
}
}
<string-array name="fragmentMenu">
<item>=====================================================================</item>
<item>activity:com.eleven.rvadapterdemo.MainActivity,进入Activity</item>
<item>com.eleven.rvadapterdemo.BlankFragment,切换fragment</item>
<item>com.eleven.rvadapterdemo.TestItemFragment,通用测试</item>
</string-array>