【发布时间】:2016-03-27 11:10:19
【问题描述】:
我想将标题添加到回收视图中,我正在尝试使用
来实现它 @Override
public int getItemViewType(int position) {
// depends on your problem
if (position == 0 || position == 4) {
return 2;
} else {
return 1;
}
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
// create a new view
if (viewType == 1) {
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.cardview_row, null);
return new ViewHolder(itemLayoutView);
} else if (viewType == 2) {
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.cardview_row1, null);
return new ViewHolders(itemLayoutView);
}
return null;
}
但是我如何在运行时做到这一点,比如当我不知道它应该显示部分的位置时,就像我有 json
{
"DATA": [
"hi",
"heloo",
"bye"
],
"MAHA": [
"ans",
"rs",
"re",
"jab",
"bad"
]
}
data 和 maha 是我想要显示其他元素的部分
目前我正在制作所有元素的数组列表并添加核心 部分的值,但我如何使用上面的 json 来做到这一点
【问题讨论】:
-
使用您当前的设计,您可以在适配器中保留一个成员数组或标题位置列表,如果位置值在数组/列表中,则从
getItemViewType()返回类型 2。为它创建一个setter方法,在解析JSON的时候算出来,在调用notifyDataSetChanged()之前设置好。
标签: android android-recyclerview