【发布时间】:2018-10-13 20:25:41
【问题描述】:
是否可以在RecyclerView 中仅针对特定项目添加项目分隔符?目前,项目分隔符被应用于每个项目之间。我想在以下位置添加分隔线:
- 在B 项 和C 部分 之间
- 在C3 项 和D 部分 之间
- 在Item D2和Section E之间
- 在 Item E3 和 Item F1 之间
- 在 Item F1 和 Item G1 之间
当前结果
片段
public class FragmentRV extends android.support.v4.app.Fragment {
RecyclerView mRecyclerView;
public FragmentRV() {}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_rv, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
View v = getView();
assert v != null;
mRecyclerView = v.findViewById(R.id.my_recyclerview);
mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
mRecyclerView.addItemDecoration(new DividerItemDecoration(Objects.requireNonNull(getContext()), LinearLayout.VERTICAL));
super.onActivityCreated(savedInstanceState);
initRVAdapter();
}
private void initRVAdapter(){
List<Object> itemsList = new ArrayList<>();
RVItemsAapter itemsListAdapter = new RVItemsAapter(getContext());
mRecyclerView.setAdapter(itemsListAdapter);
itemsList.add(new SMSmessage("Item A","Item A description"));
itemsList.add(new Phonecall("Item B","Item B description"));
itemsList.add(new SectionHeader("Section C"));
itemsList.add(new SMSmessage("Item C1","Item C1 description"));
itemsList.add(new SMSmessage("Item C2","Item C2 description"));
itemsList.add(new SMSmessage("Item C3","Item C3 description"));
itemsList.add(new SectionHeader("Section D"));
itemsList.add(new SMSmessage("Item D1","Item D1 description"));
itemsList.add(new SMSmessage("Item D2","Item D2 description"));
itemsList.add(new SectionHeader("Section E"));
itemsList.add(new SMSmessage("Item E1","Item E1 description"));
itemsList.add(new SMSmessage("Item E2","Item E2 description"));
itemsList.add(new SMSmessage("Item E3","Item E3 description"));
itemsList.add(new SMSmessage("Item F1","Item F1 description"));
itemsList.add(new Phonecall("Item G1","Item G1 description"));
itemsListAdapter.setCallSMSFeed(itemsList);
itemsListAdapter.notifyDataSetChanged();
}
}
【问题讨论】:
标签: java android android-recyclerview android-adapter