[英]Using different xml in same layouts in recycler-view viewholder
我在Layout文件夹中有多个XML文件,它在一行中有多个点,如何在Recycler-View Viewholder中设置特定布局的特定位置/停靠点的特定布局
请参考
当飞机直飞时,我可以使用它们
布局,如果我的航班是两站,我可以使用 布局
我认为这将有助于检查此处的官方DOC
///如果您不使用图像,则要在设计中很好地使用两个布局文件,这非常简单! 其实
只需创建一个View,就可以说您在其中拥有线性布局! 并且您想根据自己的情况在内部加载视图,则可以像这样
@Override
public void onBindViewHolder(final HomeVuHolder holder, int position) {
//now all incoming data from the server needed to be
item = listData.get(position);
String FlightType = item.getFlightType();
if (FlightType.equals("1")) {
View itemInfo1 = getLayoutInflater().inflate(R.layout.item1, holder.flatTypeContainer, true);
} else if (FlightType.equals("2")) {
View itemInfo2 = getLayoutInflater().inflate(R.layout.item2, holder.flatTypeContainer, true);
}
}
在Viewholder类中,您可以这样做,因为
public class HomeVuHolder extends RecyclerView.ViewHolder {
LinearLayout flatTypeContainer;
//...... other views
public HomeVuHolder(View itemView) {
super(itemView);
filghtTypeImageView = (LinearLayout) itemView.findViewById(R.id.flatTypeContainer);
}
}
这也对图像有帮助! 图像对于您来说有点容易! ^ _ ^
在recyclerView构造函数的bindViewholder方法中,您必须从本地资源或任何在线服务器获取图像! 这是如何从本地应用程序资源中获取示例的示例!
@Override
public void onBindViewHolder(final HomeVuHolder holder, int position) {
//now all incoming data from the server needed to be
//tightly bound here on the recycler View will be here
item = listData.get(position);
String FlightType = item.getFlightType();
if (PostStatuses.equals("1")) {
holder.filghtTypeImageView.setImageDrawable(context.getResources().getDrawable(R.drawable.ic_worker_green_24dp));
} else if (PostStatuses.equals("2")) {
holder.filghtTypeImageView.setImageDrawable(context.getResources().getDrawable(R.drawable.nonStopImage));
}
}
视图持有人类将是这样的
public class HomeVuHolder extends RecyclerView.ViewHolder {
ImageView filghtTypeImageView;
//...... other views
public HomeVuHolder(View itemView) {
super(itemView);
filghtTypeImageView = itemView.findViewById(R.id.flightTypeImage);
}
}
对于服务器存储中的图像,您只需使用Glide或Picasso即可将图像加载到imageView onBindViewHolder中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.