Android 具有recyclerview的多行

Android 具有recyclerview的多行,android,Android,我正在从mySQL数据库获取足球队阵容数据 我想在每一排展示守门员、后卫、中场作为头球的球员数据 我该怎么办 1-创建3个recyclerview 2-创建3个自定义布局 3个不同的视窗 我所做的是: 我想做的是: 做同样的事情,但显示其他数据,如后卫和他们的球员,中场和他们的球员 这是我的自定义布局(回收商列表): 您可以使用标准的RecyclerView方式定义几种视图类型。您需要覆盖适配器中的函数getItemViewType。此函数需要返回int,该int定义应该为元素显示的类型。之

我正在从mySQL数据库获取足球队阵容数据

我想在每一排展示守门员、后卫、中场作为头球的球员数据

我该怎么办

1-创建3个recyclerview

2-创建3个自定义布局

3个不同的视窗

我所做的是:

我想做的是: 做同样的事情,但显示其他数据,如后卫和他们的球员,中场和他们的球员

这是我的自定义布局(回收商列表):



您可以使用标准的RecyclerView方式定义几种视图类型。您需要覆盖适配器中的函数getItemViewType。此函数需要返回int,该int定义应该为元素显示的类型。之后,只需在onCreateViewHolder中处理此问题

public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    if(viewType == TYPE1){
       //here you prepare ViewHolder for first view type
       return new ViewHolder1();
    }else if(viewType == TYPE2){
       //here you prepare ViewHolder for another view type
       return new ViewHolder2();
    } 
}

您可以使用标准的RecyclerView方式并定义几种视图类型。您需要覆盖适配器中的函数getItemViewType。此函数需要返回int,该int定义应该为元素显示的类型。之后,只需在onCreateViewHolder中处理此问题

public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    if(viewType == TYPE1){
       //here you prepare ViewHolder for first view type
       return new ViewHolder1();
    }else if(viewType == TYPE2){
       //here you prepare ViewHolder for another view type
       return new ViewHolder2();
    } 
}

我是否应该为每个守门员、后卫和其他人创建自定义布局?或全部位于同一自定义布局上,具体取决于。如果更改很小,您可以准备一个代码来隐藏/显示此视图中的某些元素,但您需要仔细准备,以免在滚动过程中丢失性能。但此解决方案应处理视图中的更改,不需要使用viewType解决方案。如果变化更大,你可以简单地为其他行类型准备另一个布局。我必须做与第一个cardview相同的操作,但将名称更改为后卫,并根据后卫标题添加球员(名称、图像)(对于中场球员相同)好的,因此我假设你只需要根据球员位置更改标题。我认为您可以准备一个布局,并根据您的模型设置位置名称。如果你的球员对象是守门员或中场球员,那么你可以使用这些信息。好的,根据上传的图片,我可以肯定地告诉你,我建议准备两种不同的布局,并使用我在第一次回复中提到的方式。在本主题中可以找到如何实现整个标题功能的更好描述:我是否应该为每个守门员、后卫和其他人创建自定义布局?或全部位于同一自定义布局上,具体取决于。如果更改很小,您可以准备一个代码来隐藏/显示此视图中的某些元素,但您需要仔细准备,以免在滚动过程中丢失性能。但此解决方案应处理视图中的更改,不需要使用viewType解决方案。如果变化更大,你可以简单地为其他行类型准备另一个布局。我必须做与第一个cardview相同的操作,但将名称更改为后卫,并根据后卫标题添加球员(名称、图像)(对于中场球员相同)好的,因此我假设你只需要根据球员位置更改标题。我认为您可以准备一个布局,并根据您的模型设置位置名称。如果你的球员对象是守门员或中场球员,那么你可以使用这些信息。好的,根据上传的图片,我可以肯定地告诉你,我建议准备两种不同的布局,并使用我在第一次回复中提到的方式。有关如何实现完整标题功能的详细说明,请参见本主题:
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    if(viewType == TYPE1){
       //here you prepare ViewHolder for first view type
       return new ViewHolder1();
    }else if(viewType == TYPE2){
       //here you prepare ViewHolder for another view type
       return new ViewHolder2();
    } 
}