Android 具有节标题的RecyclerView项(在任何位置动态更新元素)
我想显示一个带有节标题的RecyclerView。我指的是这个例子,这个很好用。但我想在任何位置插入或删除元素(带或不带节头)。通过扩展上述代码,我尝试了一些方法。但没有找到任何最佳解决方案。有人解决了这个问题吗?提前感谢您可以使用该库: 1) 添加渐变依赖项: 2) 创建自定义剖面类: 4) 使用SectionedRecyclServiceAdapter设置您的RecyclView 5) 在分区中添加/删除项目:Android 具有节标题的RecyclerView项(在任何位置动态更新元素),android,android-recyclerview,material-design,Android,Android Recyclerview,Material Design,我想显示一个带有节标题的RecyclerView。我指的是这个例子,这个很好用。但我想在任何位置插入或删除元素(带或不带节头)。通过扩展上述代码,我尝试了一些方法。但没有找到任何最佳解决方案。有人解决了这个问题吗?提前感谢您可以使用该库: 1) 添加渐变依赖项: 2) 创建自定义剖面类: 4) 使用SectionedRecyclServiceAdapter设置您的RecyclView 5) 在分区中添加/删除项目: 谢谢你,伙计。很好的图书馆。嗨,古斯塔沃,你能看看我关于你图书馆的问题吗? de
谢谢你,伙计。很好的图书馆。嗨,古斯塔沃,你能看看我关于你图书馆的问题吗?
dependencies {
compile 'io.github.luizgrp.sectionedrecyclerviewadapter:sectionedrecyclerviewadapter:1.+'
}
class MySection extends StatelessSection {
ArrayList<String> myList = new ArrayList<>(10);
public MySection() {
// call constructor with layout resources for this Section header and items
super(R.layout.section_header, R.layout.section_item);
}
public void addItem(int position, String item) {
myList.add(position, item);
}
public void removeItem(int position) {
myList.remove(position);
}
@Override
public int getContentItemsTotal() {
return myList.size();
}
@Override
public RecyclerView.ViewHolder getItemViewHolder(View view) {
// return a custom instance of ViewHolder for the items of this section
return new MyItemViewHolder(view);
}
@Override
public void onBindItemViewHolder(RecyclerView.ViewHolder holder, int position) {
MyItemViewHolder itemHolder = (MyItemViewHolder) holder;
// bind your view here
itemHolder.tvItem.setText(myList.get(position));
}
}
class MyItemViewHolder extends RecyclerView.ViewHolder {
private final TextView tvItem;
public MyItemViewHolder(View itemView) {
super(itemView);
tvItem = (TextView) itemView.findViewById(R.id.tvItem);
}
}
// Create an instance of SectionedRecyclerViewAdapter
SectionedRecyclerViewAdapter sectionAdapter = new SectionedRecyclerViewAdapter();
MySection mySection = new MySection();
// Add your Sections
sectionAdapter.addSection(mySection);
// Set up your RecyclerView with the SectionedRecyclerViewAdapter
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setAdapter(sectionAdapter);
mySection.addItem(1, "Item 1");
mySection.remove(0);
sectionAdapter.notifyDataSetChanged();