我通过Volley获取我的数据信息(基于JSON),然后将其与GSON映射到我的DataModel。 JSON,例如包含包含其他数组的数组。 我将呈现一个Array的结果,如果我单击List Item,则Items应该更改以引用下一级Array。
我正在寻找一种通用解决方案来点击各种ListView而无需创建新的适配器等。
array1:
- item
- item
- item
- array2:
- item
- item
- item
- array3
- item
- item
- item
答案 0 :(得分:1)
Just add a new item iten in adapter object and call adapter.notifyDatasetChanged()
答案 1 :(得分:0)
您可以实施Filter。让你的适配器实现Filterable,即一个名为getFilter()的方法,它返回你的过滤器的一个实例。过滤器本身实现了两个方法:performFiltering(CharSequence constraint)和publishResults(CharSequence约束,FilterResults结果)。
然后在你的onItemClick方法中调用 adapter.getFilter.filter(contraint) 其中约束是CharSequence,区分您的阵列级别。在performFilter方法中,您可以将新数组的值放入results.values,将新数组的长度放入results.count。
最后,对adapter.notifyDatasetChanged()的调用会进入你的publishResults方法。
答案 2 :(得分:0)
ListItem
ArrayList
您需要将项目添加到用于显示ListView
的同一list.add(model(id, name));
内
if(listView.getAdapter()==null){
adapter=new Adapter(getActivity(),list);
listView.setAdapter(horizontalListAdapter);
}
else{
adapter.notifyDataSetChanged();
}
然后
didSelectRowAtIndexPath