倒入依赖
implementation 'com.gavin.com.library:stickyDecoration:1.4.11'
configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:26.1.0'
//循环一个个的依赖库
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
//获取当前循环到的依赖库
def requested = details.requested
//如果这个依赖库群组的名字是com.android.support
if (requested.group == 'com.android.support') {
//且其名字不是以multidex开头的
if (!requested.name.startsWith("multidex")) {
//这里指定需要统一的依赖版本 改为自己的版本即可
details.useVersion '28.0.0'
}
}
}
}
自定义recycle
public class MainActivity extends AppCompatActivity implements IView{
private IPresenterImpl iPresenter;
private RecyclerShopAdapter adapter;
@BindView(R.id.recycler_view)
RecyclerView recyclerView;
private List<ShopBean.Data> data1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化
iPresenter=new IPresenterImpl(this);
ButterKnife.bind(this);
Map<String,String> map=new HashMap<>();
map.put("uid",71+"");
map.put("source","1.0.1");
iPresenter.startRequest(Apis.url_goods,map, ShopBean.class);
StickyDecoration decoration=StickyDecoration.Builder.init(new GroupListener(){
@Override
public String getGroupName(int position) {
if(position<data1.size() && position>-1){
return data1.get(position).getSellerName();
}
return null;
}
})
.setGroupBackground(ContextCompat.getColor(this, R.color.color_group_background))
.setGroupHeight(getResources().getDimensionPixelOffset(R.dimen.dp_35))
.setDivideColor(ContextCompat.getColor(this,R.color.color_divide))
.setDivideHeight(getResources().getDimensionPixelOffset(R.dimen.dp_2))
.setGroupTextColor(Color.RED)
.setGroupTextSize(getResources().getDimensionPixelSize(R.dimen.sp_15))
.setTextSideMargin(getResources().getDimensionPixelOffset(R.dimen.dp_10))
.setOnClickListener(new OnGroupClickListener() {
@Override
public void onClick(int position, int id) {
String sellerName = data1.get(position).getSellerName();
Toast.makeText(MainActivity.this,sellerName,Toast.LENGTH_LONG).show();
}
})
.build();
LinearLayoutManager manager=new LinearLayoutManager(this);
manager.setOrientation(OrientationHelper.VERTICAL);
recyclerView.setLayoutManager(manager);
recyclerView.addItemDecoration(decoration);
adapter=new RecyclerShopAdapter(this);
recyclerView.setAdapter(adapter);
}
@Override
public void onSuccessData(Object data) {
ShopBean bean= (ShopBean) data;
data1 = bean.getData();
data1 = bean.getData();
data1.remove(0);
adapter.setList(data1);
}
@Override
public void onFailData(String error) {
Toast.makeText(this,error,Toast.LENGTH_LONG).show();
}
//解除绑定
@Override
protected void onDestroy() {
super.onDestroy();
iPresenter.deteachView();
}
}
MainActivity
public class MainActivity extends AppCompatActivity implements IView{
private IPresenterImpl iPresenter;
private RecyclerShopAdapter adapter;
@BindView(R.id.recycler_view)
RecyclerView recyclerView;
private List<ShopBean.Data> data1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化
iPresenter=new IPresenterImpl(this);
ButterKnife.bind(this);
Map<String,String> map=new HashMap<>();
map.put("uid",71+"");
map.put("source","1.0.1");
iPresenter.startRequest(Apis.url_goods,map, ShopBean.class);
StickyDecoration decoration=StickyDecoration.Builder.init(new GroupListener(){
@Override
public String getGroupName(int position) {
if(position<data1.size() && position>-1){
return data1.get(position).getSellerName();
}
return null;
}
})
.setGroupBackground(ContextCompat.getColor(this, R.color.color_group_background))
.setGroupHeight(getResources().getDimensionPixelOffset(R.dimen.dp_35))
.setDivideColor(ContextCompat.getColor(this,R.color.color_divide))
.setDivideHeight(getResources().getDimensionPixelOffset(R.dimen.dp_2))
.setGroupTextColor(Color.RED)
.setGroupTextSize(getResources().getDimensionPixelSize(R.dimen.sp_15))
.setTextSideMargin(getResources().getDimensionPixelOffset(R.dimen.dp_10))
.setOnClickListener(new OnGroupClickListener() {
@Override
public void onClick(int position, int id) {
String sellerName = data1.get(position).getSellerName();
Toast.makeText(MainActivity.this,sellerName,Toast.LENGTH_LONG).show();
}
})
.build();
LinearLayoutManager manager=new LinearLayoutManager(this);
manager.setOrientation(OrientationHelper.VERTICAL);
recyclerView.setLayoutManager(manager);
recyclerView.addItemDecoration(decoration);
adapter=new RecyclerShopAdapter(this);
recyclerView.setAdapter(adapter);
}
@Override
public void onSuccessData(Object data) {
ShopBean bean= (ShopBean) data;
data1 = bean.getData();
data1 = bean.getData();
data1.remove(0);
adapter.setList(data1);
}
@Override
public void onFailData(String error) {
Toast.makeText(this,error,Toast.LENGTH_LONG).show();
}
//解除绑定
@Override
protected void onDestroy() {
super.onDestroy();
iPresenter.deteachView();
}
}