Как увидеть мои данные в виде переработчика с моего сервера - PullRequest
0 голосов
/ 10 марта 2020

Я получаю данные с сервера URL: http://tecmin.in/userhome/workoutslist, и я пытаюсь исправить эти значения в Recycler View. Бит данных не виден. Следующий код, который я использую

WorkoutsActivity. java

workoutslist = findViewById(R.id.workoutslist);
//        LinearLayoutManager manager =new LinearLayoutManager(WorkoutsActivity.class, LinearLayoutManager.VERTICAL, false);
        LinearLayoutManager manager = new LinearLayoutManager(WorkoutsActivity.this, LinearLayoutManager.VERTICAL, false);
        workoutslist.setLayoutManager(manager);

        ServiceWrapper serviceWrapper = new ServiceWrapper(null);
        Call<List<Workoutspojo>> call = serviceWrapper.workoutsCall();
        call.enqueue(new Callback<List<Workoutspojo>>() {
            @Override
            public void onResponse(Call<List<Workoutspojo>> call, Response<List<Workoutspojo>> response) {
                if (response.isSuccessful()) {
                    viewworkouts(response.body());
                }
            }

            @Override
            public void onFailure(Call<List<Workoutspojo>> call, Throwable t) {

            }
        });

    private void viewworkouts(List<Workoutspojo> body) {
            workoutsRecyclerview = new WorkoutsRecyclerview(this, body);
            workoutslist.setAdapter(workoutsRecyclerview);
        }

My WorkoutsPojo. java

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Workoutspojo {

    @SerializedName("id")
    @Expose
    private String id;
    @SerializedName("workoutid")
    @Expose
    private String workoutid;
    @SerializedName("name")
    @Expose
    private String name;
    @SerializedName("imageurl")
    @Expose
    private String imageurl;
    @SerializedName("status")
    @Expose
    private String status;
    @SerializedName("date")
    @Expose
    private String date;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getWorkoutid() {
        return workoutid;
    }

    public void setWorkoutid(String workoutid) {
        this.workoutid = workoutid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getImageurl() {
        return imageurl;
    }

    public void setImageurl(String imageurl) {
        this.imageurl = imageurl;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

}

Класс обслуживания

public Call<List<Workoutspojo>> workoutsCall()
{
    return mServieInterface.mWorkouts();
}

Мой класс интерфейса

@GET("userhome/workoutslist")
    Call<List<Workoutspojo>> mWorkouts();

RecyckerviewAdaptor. java

    package com.skalegymapp.gymapp.RecyclerviewAdaptors;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.Glide;
import com.skalegymapp.gymapp.R;
import com.skalegymapp.gymapp.pojo.Workoutspojo;

import java.util.ArrayList;
import java.util.List;

public class WorkoutsRecyclerview extends RecyclerView.Adapter {

    Context context;
    List<Workoutspojo> workoutspojos;

    public WorkoutsRecyclerview(Context context, List<Workoutspojo> workoutspojos) {
        this.context = context;
        this.workoutspojos = workoutspojos;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.workout_list, parent, false);

        return new getworkoutsview(view);
    }

    public static class getworkoutsview extends RecyclerView.ViewHolder {

        TextView title;
        ImageView workout_image;

        public getworkoutsview(@NonNull View itemView) {
            super(itemView);
            title = itemView.findViewById(R.id.workout_name);
            workout_image = itemView.findViewById(R.id.workout_image);
        }
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
        Workoutspojo workoutspojo = workoutspojos.get(position);
        ((getworkoutsview) holder).title.setText(workoutspojo.getName());
        Glide.with(context).load(workoutspojo.getImageurl()).into(((getworkoutsview)holder).workout_image);
    }

    @Override
    public int getItemCount() {
        return 0;
    }
}

Но никаких данных не видно Как реализовать это.

1 Ответ

1 голос
/ 10 марта 2020

Ваш класс WorkoutsRecyclerview должен реализовывать getItemCount () таким образом

@Override
public int getItemCount() {
    return workoutspojos.size();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...