Skip to content

xiaoqinghong/SimpleRecycler

Repository files navigation

SimpleRecycler

Example

image

apk:https://github.com/xiaoqinghong/SimpleRecycler/raw/master/app/release/app-release.apk

SimpleAdapter(只支持一种itemView)

public class TestAdapter extends SimpleRecyclerAdapter<String> {

    public TestAdapter(List<String> list) {
        super(R.layout.item_test, list);
    }

    @Override
    protected void bind(SimpleViewHolder helper, String item) {
        helper.setText(R.id.tv_test_item, item)
                .addClickListener(R.id.tv_test_item) // 设置子项的点击事件监听
                .addLongClickListener(R.id.tv_test_item) // 设置子项的长按事件监听
                .getView(R.id.tv_test_item);
    }
}

MultipleAdapter(支持多种itemView)

/**
* bean类需要实现SimpleMultipleAdapter.TypeBind接口。每个bean类都可能属于不同的type
*/
public class MultipleBean implements SimpleMultipleAdapter.TypeBind {
    @Override
    public int type() {
        return 0;
    }
}
/**
* MultipleTestAdapter
*/
public class MultipleTestAdapter extends SimpleMultipleAdapter<MultipleBean> {
    public MultipleTestAdapter(List<MultipleBean> list) {
        super(list);
        // 添加多种item对应的layout。
        addLayout(0, R.layout.multiple_item_a);
        addLayout(1, R.layout.multiple_item_b);
        addLayout(2, R.layout.multiple_item_c);
    }

    @Override
    protected void bind(SimpleViewHolder helper, MultipleBean item) {
        switch (itemType) {
            case 0:
                // doSomething...
                break;
            case 1:
                // doSomething...
                break;
            case 2:
               // doSomething...
                break;
            default:
                // doSomething...
                break;
        }
    }
}

adapter暴露的接口

mAdapter.bindRecyclerView(recyclerView); // 内部默认使用LinearLayoutManager
mAdapter.addHeaderView(header);
mAdapter.addFooterView(footer);
// click
mAdapter.setOnItemClickListener();

mAdapter.setOnSubViewClickListener();

// long click
mAdapter.setOnItemLongClickListener();

mAdapter.setOnSubViewLongClickListener();

使用方式1:

下载工程源码,并将SimpleAdapter模块作为model导入到工程中

使用方式2:

步骤1.将JitPack存储库添加到构建文件中

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

步骤2.添加依赖项

dependencies {
	implementation 'com.github.xiaoqinghong:SimpleRecycler:last-version'
}

LICENSE

Copyright (c) 2018-present, SimpleRecycler Contributors.

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.