【发布时间】:2016-08-22 20:52:00
【问题描述】:
我正在 android 上构建一个应用程序,并且正在使用几个 recyclerviews。
在我使用 recyclerview 的第一页中,一切都完美无缺,我的自定义 ItemDecoration(分隔符)已应用于所有视图。
然后我开始了一个新页面,其中我在类似的 RecyclerView 上使用了相同的分隔符,但在最后一个列表项上,底部分隔符不存在。
看到它在一个地方完美运行,我认为问题不在于自定义 ItemDecoration 类,也不在于 xml。我还尝试对有效的视图使用相同的视图,但仍然没有绘制最后一个分隔线。
这是在有问题的 recyclerview 中设置我的适配器的代码:
private void setUpPracticesList() {
lstPractices = (RecyclerView) getActivity().findViewById(R.id.lstPractices);
lstPractices.setLayoutManager(new LinearLayoutManager(getActivity()));
RecyclerView.Adapter<PracticeHolder> adapter = new RecyclerView.Adapter<PracticeHolder>() {
String[] titles = getResources().getStringArray(R.array.practices_names);
int[] imageIds = {R.drawable.consultation_meeting_icon,
R.drawable.monitoring_meeting_icon,
R.drawable.parent_lectures_icon,
R.drawable.parent_support_groups_icon,
R.drawable.staff_courses_icon};
@Override
public PracticeHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.kidsense_practices_list_item, parent, false);
return new PracticeHolder(v);
}
@Override
public void onBindViewHolder(PracticeHolder holder, int position) {
holder.setName(titles[position]);
holder.setImage(imageIds[position]);
}
@Override
public int getItemCount() {
return titles.length;
}
};
lstPractices.setAdapter(adapter);
lstPractices.setHasFixedSize(true);
lstPractices.addItemDecoration(new DividerItemDecoration(getActivity(), null));
}
有人有什么想法吗?
【问题讨论】:
标签: android android-recyclerview