我试图读取对象(json)中的数组。我以前使用过改装,但我无法到达阵列。以下是模型:
negocio级
public class Negocio {
@SerializedName("data")
@Expose
private List<Datum> data = null;
public List<Datum> getData() {
return data;
}
public void setData(List<Datum> data) {
this.data = data;
}
}
imagennegocio.class
public class ImagenNegocio {
@SerializedName("idImagenNegocio")
@Expose
private Integer idImagenNegocio;
@SerializedName("url")
@Expose
private String url;
@SerializedName("flgPortada")
@Expose
private Boolean flgPortada;
@SerializedName("flgLogo")
@Expose
private Boolean flgLogo;
@SerializedName("idNegocio")
@Expose
private Integer idNegocio;
public Integer getIdImagenNegocio() {
return idImagenNegocio;
}
public void setIdImagenNegocio(Integer idImagenNegocio) {
this.idImagenNegocio = idImagenNegocio;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public Boolean getFlgPortada() {
return flgPortada;
}
public void setFlgPortada(Boolean flgPortada) {
this.flgPortada = flgPortada;
}
public Boolean getFlgLogo() {
return flgLogo;
}
public void setFlgLogo(Boolean flgLogo) {
this.flgLogo = flgLogo;
}
public Integer getIdNegocio() {
return idNegocio;
}
public void setIdNegocio(Integer idNegocio) {
this.idNegocio = idNegocio;
}
}
基准类
public class Datum {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("nombre")
@Expose
private String nombre;
@SerializedName("ruc")
@Expose
private String ruc;
@SerializedName("razonSocial")
@Expose
private String razonSocial;
@SerializedName("descripcion")
@Expose
private String descripcion;
@SerializedName("tiempoEntregaMinimo")
@Expose
private Integer tiempoEntregaMinimo;
@SerializedName("tiempoEntregaMaximo")
@Expose
private Integer tiempoEntregaMaximo;
@SerializedName("flgDeliveryPropio")
@Expose
private Boolean flgDeliveryPropio;
@SerializedName("flgAplicaCostoEnvio")
@Expose
private Boolean flgAplicaCostoEnvio;
@SerializedName("flgPagoOnline")
@Expose
private Boolean flgPagoOnline;
@SerializedName("flgPagoEfectivo")
@Expose
private Boolean flgPagoEfectivo;
@SerializedName("flgRecomendado")
@Expose
private Boolean flgRecomendado;
@SerializedName("flgDisponible")
@Expose
private Boolean flgDisponible;
@SerializedName("nroCuenta")
@Expose
private String nroCuenta;
@SerializedName("idRubro")
@Expose
private Integer idRubro;
@SerializedName("idBanco")
@Expose
private Integer idBanco;
@SerializedName("idConfiguracionPedido")
@Expose
private Integer idConfiguracionPedido;
@SerializedName("idUsuario")
@Expose
private Integer idUsuario;
@SerializedName("imagenNegocios")
@Expose
private List<ImagenNegocio> imagenNegocios = null;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getRuc() {
return ruc;
}
public void setRuc(String ruc) {
this.ruc = ruc;
}
public String getRazonSocial() {
return razonSocial;
}
public void setRazonSocial(String razonSocial) {
this.razonSocial = razonSocial;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public Integer getTiempoEntregaMinimo() {
return tiempoEntregaMinimo;
}
public void setTiempoEntregaMinimo(Integer tiempoEntregaMinimo) {
this.tiempoEntregaMinimo = tiempoEntregaMinimo;
}
public Integer getTiempoEntregaMaximo() {
return tiempoEntregaMaximo;
}
public void setTiempoEntregaMaximo(Integer tiempoEntregaMaximo) {
this.tiempoEntregaMaximo = tiempoEntregaMaximo;
}
public Boolean getFlgDeliveryPropio() {
return flgDeliveryPropio;
}
public void setFlgDeliveryPropio(Boolean flgDeliveryPropio) {
this.flgDeliveryPropio = flgDeliveryPropio;
}
public Boolean getFlgAplicaCostoEnvio() {
return flgAplicaCostoEnvio;
}
public void setFlgAplicaCostoEnvio(Boolean flgAplicaCostoEnvio) {
this.flgAplicaCostoEnvio = flgAplicaCostoEnvio;
}
public Boolean getFlgPagoOnline() {
return flgPagoOnline;
}
public void setFlgPagoOnline(Boolean flgPagoOnline) {
this.flgPagoOnline = flgPagoOnline;
}
public Boolean getFlgPagoEfectivo() {
return flgPagoEfectivo;
}
public void setFlgPagoEfectivo(Boolean flgPagoEfectivo) {
this.flgPagoEfectivo = flgPagoEfectivo;
}
public Boolean getFlgRecomendado() {
return flgRecomendado;
}
public void setFlgRecomendado(Boolean flgRecomendado) {
this.flgRecomendado = flgRecomendado;
}
public Boolean getFlgDisponible() {
return flgDisponible;
}
public void setFlgDisponible(Boolean flgDisponible) {
this.flgDisponible = flgDisponible;
}
public String getNroCuenta() {
return nroCuenta;
}
public void setNroCuenta(String nroCuenta) {
this.nroCuenta = nroCuenta;
}
public Integer getIdRubro() {
return idRubro;
}
public void setIdRubro(Integer idRubro) {
this.idRubro = idRubro;
}
public Integer getIdBanco() {
return idBanco;
}
public void setIdBanco(Integer idBanco) {
this.idBanco = idBanco;
}
public Integer getIdConfiguracionPedido() {
return idConfiguracionPedido;
}
public void setIdConfiguracionPedido(Integer idConfiguracionPedido) {
this.idConfiguracionPedido = idConfiguracionPedido;
}
public Integer getIdUsuario() {
return idUsuario;
}
public void setIdUsuario(Integer idUsuario) {
this.idUsuario = idUsuario;
}
public List<ImagenNegocio> getImagenNegocios() {
return imagenNegocios;
}
public void setImagenNegocios(List<ImagenNegocio> imagenNegocios) {
this.imagenNegocios = imagenNegocios;
}
}
这是我从url得到的信息:
{
"data": [
{
"id": 1,
"nombre": "Huellitas",
"ruc": "20123456789",
"razonSocial": "Huellitas SAC",
"descripcion": "Tienda de productos para mascotas",
"tiempoEntregaMinimo": 15,
"tiempoEntregaMaximo": 30,
"flgDeliveryPropio": false,
"flgAplicaCostoEnvio": true,
"flgPagoOnline": true,
"flgPagoEfectivo": true,
"flgRecomendado": false,
"flgDisponible": true,
"nroCuenta": "112548975",
"idRubro": 1,
"idBanco": 1,
"idConfiguracionPedido": 1,
"idUsuario": 2,
"imagenNegocios": [
{
"idImagenNegocio": 6,
"url": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQyktAFVOzfKb29j7EUrRml2ZzMjpVbKQFJmgY3h7tK35wOWbQBUc6R1UVW2axs00puEg0&usqp=CAU",
"flgPortada": false,
"flgLogo": true,
"idNegocio": 1
},
{
"idImagenNegocio": 7,
"url": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSC_3Dy_NlxlPDwC5LkFyLvvM1oxccl1Vvl9Q&usqp=CAU",
"flgPortada": true,
"flgLogo": false,
"idNegocio": 1
}
]
},
{
"id": 2,
"nombre": "Ikiitu",
"ruc": "20787945613",
"razonSocial": "Ikiitu EIRL",
"descripcion": "Restaurante amazonico e internacional",
"tiempoEntregaMinimo": 20,
"tiempoEntregaMaximo": 60,
"flgDeliveryPropio": true,
"flgAplicaCostoEnvio": true,
"flgPagoOnline": true,
"flgPagoEfectivo": false,
"flgRecomendado": false,
"flgDisponible": true,
"nroCuenta": "117894565",
"idRubro": 1,
"idBanco": 1,
"idConfiguracionPedido": 1,
"idUsuario": 3,
"imagenNegocios": [
{
"idImagenNegocio": 3,
"url": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQEMVyZ0EEg6v80LnnuZJwaL7a239EOpnfH6lKOF5TFQONEStJVk5-L9X2xME9OHjGeOts&usqp=CAU",
"flgPortada": false,
"flgLogo": true,
"idNegocio": 2
},
{
"idImagenNegocio": 4,
"url": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQN5BnM6QwIqX3ruP1svQjyjoBsWPEFMxWlqA&usqp=CAU",
"flgPortada": true,
"flgLogo": false,
"idNegocio": 2
}
]
}
]
}
这是我的userservice.java
public interface UserService {
@GET("Negocio/")
Call<List<Datum>> Negocio();
}
我要做的是将其填充到一个recyclerview中。我已经创建了适配器
listanegocioadapter.java
public class ListaNegocioAdapter extends RecyclerView.Adapter<ListaNegocioAdapter.ViewHolder> {
private Context mcontext;
private List<Datum> mNegocioList;
private OnItemClickListener mListener;
public interface OnItemClickListener{
void onItemClick(int position);
}
public void setOnItemClickListener (OnItemClickListener listener){
mListener = listener;
}
public ListaNegocioAdapter (Context mcontext, List<Datum> mNegocioList){
this.mcontext = mcontext;
this.mNegocioList = mNegocioList;
}
@NonNull
@Override
public ListaNegocioAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(mcontext).inflate(R.layout.grd_item_list_negocio,viewGroup,false);
return new ListaNegocioAdapter.ViewHolder(v);
}
@Override
public void onBindViewHolder(@NonNull ListaNegocioAdapter.ViewHolder viewHolder, int position) {
Datum currentItem = mNegocioList.get(position);
viewHolder.nombreNegocio.setText(currentItem.getNombre());
//Picasso.get().load(currentItem.getImagenNegocios()).into(viewHolder.logoNegocio);
}
@Override
public int getItemCount() {
return mNegocioList.size();
}
public void adicinarLista (List<Datum> listaNegocios){
this.mNegocioList = listaNegocios;
notifyDataSetChanged();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView nombreNegocio;
public ImageView logoNegocio;
public ViewHolder(@NonNull View itemView) {
super(itemView);
nombreNegocio = itemView.findViewById(R.id.txt_nombreNegocio);
logoNegocio = itemView.findViewById(R.id.img_negocioLogo);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mListener!=null){
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION){
mListener.onItemClick(position);
}
}
}
});
}
}
}
但是我无法进入imagennegocio来检索图像url。谁能帮帮我吗?
暂无答案!
目前还没有任何答案,快来回答吧!