我真的很想在我的应用程序中使用Recyclerview。
目前我有一个包含gridview的布局。此gridview中填充了图像。图像的路径来自Web服务,以JSON提供。
这一切都很好,但是......
我想将屏幕上的图像组织到Web服务提供的不同组中。我正在考虑创建一个具有以下布局的子视图:
-textview(标题) -gridview(图像列表)
然后根据有多少类别,一遍又一遍地回收这个子视图。
我还需要有关JSON文件结构的建议,以便使输入更容易。我当前的JSON文件如下所示:
[
{
path: "upload/images/1430572021716.jpg"
},
{
path: "upload/images/1430574003703.jpg"
},
{
path: "upload/images/1430574124119.jpg"
}
]
我正在考虑使用嵌套数组,就像我找到的这个例子一样
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
我真的很困惑。根据我的理解,带有GridviewLayout的RecyclerView应该能够直接接受图像并处理组的标题,而不需要大量的代码。
它有点絮絮但是它在哪里。
答案 0 :(得分:0)
你在考虑这个错误。我很确定你不应该嵌套AdapterViews(ListView,GridView,RecyclerView),所以我实现这个的方法是使用带有节头的Recycler View。创建Recycler视图适配器时,请确保具有多种类型的视图。然后创建自己的布局管理器以安排标题等。
public class Recyclerk extends RecyclerView.Adapter<SomeClass> {
@Override
public Object onCreateViewHolder(ViewGroup parent, int viewType) {
//This is where you decide whether it's a header view or a sub item
return null;
}
@Override
public void onBindViewHolder(Object holder, int position) {
}
@Override
public int getItemViewType(int position) {
//This is where you want to tell recycler whether it's a
return super.getItemViewType(position);
}
@Override
public int getItemCount() {
return 0;
}
}