Java 我想在recyclerview中显示我的所有数据

Java 我想在recyclerview中显示我的所有数据,java,android,json,retrofit2,Java,Android,Json,Retrofit2,也许我的问题是初学者的问题 我有这个JSON,作为一个响应,我发布了一个“id”,结果是这样的,因为你可以看到我的响应以方括号[]开始,我无法更改它 [{ "id": "1111", "nam": "name", "namk": "surename", "lygn": [{ "id&q

也许我的问题是初学者的问题 我有这个JSON,作为一个响应,我发布了一个“id”,结果是这样的,因为你可以看到我的响应以方括号[]开始,我无法更改它

[{
    "id": "1111",
    "nam": "name",
    "namk": "surename",
    "lygn": [{
                "id": "3003",
                "mas": "lurem11",               
                "yeg": "lurem11"
            },
            {
                "id": "5121",
                "mas": "lurem",
                "yeg": "lurem"
            }],
    "lisar": [
        {
            "id": "3",
            "sharh": "lurem22",
            "amal": "lurem22",
            "toz": "1",
            "tb": "1"
        },
        {
            "id": "2113",
            "sharh": "0",
            "amal": "lurem",
            "toz",
            "tb": "1965/06/11"
        }
    ]
}]
这是我的要求:

@POST("isargaran")
    @Headers({"Content-Type: application/json"})
    Call<List<ForAll>> postbyid(@Body ForAll md);    
(以及“lisar”的第一个数据)

我不想在这里分享我的适配器,让它显得拥挤不堪,我的问题是,我如何在RECYCLERVIEW中展示我的“lygn”和“lisar”(我每个都有一个回收器) 谢谢你们,请帮帮我


**我想问题是因为我的回答是以[]

开头的。首先,您需要分开回答

ForAll resource = response.get(0);
现在,您需要在recycler视图适配器中传递单独的数据

List<Ygn> lygnData = resource.getygn();
List<lisar> lisarData = resource.getlisar();
List lygnData=resource.getygn();
List lisarData=resource.getlisar();

使用recyclerview设置适配器,如下所示

//Pass your list in to adapter   
var adapter = RecyclerViewAdapter(list)
recyclerView.layoutManager = LinearLayoutManager(context)
recyclerView.adapter = pendingAdapter
这是你的adapater课程

 class RecyclerViewAdapter(
        private val list: List<String>
    ) : RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder>() {
    
        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
            val v = LayoutInflater.from(parent.context).inflate(R.layout.row, parent, false)   // pass your row (.xml) Here
            return ViewHolder(v)
        }
    
        override fun onBindViewHolder(holder: ViewHolder, position: Int) {
            // Bind Your Data Here
        }
    
        override fun getItemCount(): Int {
            return list.size
        }
    
        class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
    }
class RecycleServiceAdapter(
私有val列表:列表
):RecyclerView.Adapter(){
override onCreateViewHolder(父级:ViewGroup,viewType:Int):ViewHolder{
val v=LayoutInflater.from(parent.context).膨胀(R.layout.row,parent,false)//在此处传递行(.xml)
返回视窗支架(v)
}
覆盖BindViewHolder(holder:ViewHolder,位置:Int){
//在这里绑定您的数据
}
重写getItemCount():Int{
返回列表。大小
}
类ViewHolder(itemView:View):RecyclerView.ViewHolder(itemView)
}

您如何解析您的json响应?@sneharc
ForAll result=forAlls.get(position)<代码>result.getLisar().get(position).getTb()
在我的适配器中对不起,如果我搞错了,女士请检查这些链接中的适配器类:@sneharc它帮不了我,我的应用程序中有其他回收器显示所有数据(正是我想要的,我的意思是我知道如何将适配器用于简单的JSON,比如那些链接中的JSON)但我的问题是这些列表(“lygn”和“lisar”)“谢谢你,我知道,但我仍然有一个数据,无法显示所有数据。你能和我共享你的适配器类吗?所以我很快给你一个解决方案。适配器中设置了哪个数组大小?@Override public int getItemCount(){return modelArrayList.size();}我返回了modelArrayList.size();但我只有索引0
//Pass your list in to adapter   
var adapter = RecyclerViewAdapter(list)
recyclerView.layoutManager = LinearLayoutManager(context)
recyclerView.adapter = pendingAdapter
 class RecyclerViewAdapter(
        private val list: List<String>
    ) : RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder>() {
    
        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
            val v = LayoutInflater.from(parent.context).inflate(R.layout.row, parent, false)   // pass your row (.xml) Here
            return ViewHolder(v)
        }
    
        override fun onBindViewHolder(holder: ViewHolder, position: Int) {
            // Bind Your Data Here
        }
    
        override fun getItemCount(): Int {
            return list.size
        }
    
        class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
    }