дооснащение, не могу отобразить мои данные на переработке из моего API - PullRequest
0 голосов
/ 12 декабря 2018

я новичок, у меня есть проблема в моем обзоре переработчика.Я не могу получить свои данные из моего API.Я только что взял этот учебник, так как это та же самая реализация из моего приложения.http://shaoniiuc.com/android/fetch-json-api-data-recyclerview-using-retrofit-library/, Может быть, моя реализация здесь неправильная, не могли бы вы помочь мне решить, спасибо:)

Это мой API:

  public interface Api {

          @GET("api/Database/GetSchedule?serialNumber=1807200003")
          Call<List<ScheduleDetails>> getSchedData();
 }

My DetailObjects:

   public class ScheduleDetails {


                  private String ID;
                  private String Location;
                  private String Latitude;
                  private String Longitude;
                  private String SequenceNumber;
                  private String Comment;
                  private String hasArrived;
                  private String ActualArrival;
                  private String hasDepart;
                  private String ActualDeparture;
                  private String Status;
                  private String ID_FleetSchedule;
                  private String ExpectedTimeOfTransaction;
                  private String EstimatedTimeOfDeparture;
                  private String ID_FleetCar;
                  private String Scheduler;
                  private String Car;
                  private String ID_FleetCompany;
                  private String FleetCompany;
                  private String ID_FleetDevice;
                  private String SerialNumber;

             //Constructor....
            //Getter.....
       }


note: in my api, these are the string ive get but
      ive only getting least of them...  you can check 
      it on my adapterView.

мой просмотр адаптера:

     public class scheduleAdapter extends 
     RecyclerView.Adapter<scheduleAdapter.MyViewHolder> {

     private List<ScheduleDetails> schedlist;

     public class MyViewHolder extends RecyclerView.ViewHolder {
          public TextView location,schedule_status,dateTime,IDFleet,iid;

    public MyViewHolder(View view) {
        super(view);
        location=view.findViewById(R.id.schedule_location);
        dateTime=view.findViewById(R.id.schedule_dateTime);
        schedule_status=view.findViewById(R.id.schedule_Status);
        IDFleet=view.findViewById(R.id.schedule_FleetID);
        iid=view.findViewById(R.id.schedule_ID);

       }
       }


       public scheduleAdapter(List<ScheduleDetails> scheduleList) {
       this.schedlist = scheduleList;
      }

       @Override
           public MyViewHolder onCreateViewHolder(ViewGroup parent,
           int viewType) {
           View itemView = LayoutInflater.from(parent.getContext())
           .inflate(R.layout.schedule_cardview, parent, false);

            return new MyViewHolder(itemView);
      }

       @Override
             public void onBindViewHolder(MyViewHolder holder, int
              position) {
             ScheduleDetails sched = schedlist.get(position);
             holder.location.setText(sched.getLocation());
             holder.schedule_status.setText(sched.getStatus());
             holder.dateTime.setText(sched.getExpectedTimeOfTransaction());
             holder.IDFleet.setText(sched.getID_FleetSchedule());
             holder.iid.setText(sched.getID());

           }

           @Override
           public int getItemCount() {
               return schedlist.size();
           }
       }

это мой API:

    public class ApiClient {

private static final String BASE_URL = "http://www.example.com";
private static Retrofit retrofit = null;

public static Retrofit getRetrofit() {
    if (retrofit == null) {
        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }
    return retrofit;
   }

}

это мой getList с помощью recyclerview моей основной деятельности:

        public class ScheduleFleet extends Fragment  {

View inflatedView = null;

private RecyclerView recyclerView;
private scheduleAdapter mAdapter;
private LinearLayoutManager layoutManager;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    inflatedView = inflater.inflate(R.layout.fragment_schedule_fleet, container, false);

    return inflatedView;

}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    getActivity().setTitle("Schedule");
    final SwipeRefreshLayout refresh = inflatedView.findViewById(R.id.sched_refresh);
    getUserList();

    refresh.setOnRefreshListener(
            new SwipeRefreshLayout.OnRefreshListener() {
                @Override
                public void onRefresh() {
                    doYourUpdate();
                }

                private void doYourUpdate() {
                    recyclerView.setAdapter(mAdapter);
                    getUserList();
                    refresh.setRefreshing(false);
                }
            }
    );
}

private void getUserList() {
    try {
        Api service = ApiClient.getRetrofit().create(Api.class);
        Call<List<ScheduleDetails>> call = service.getSchedData();

        call.enqueue(new Callback<List<ScheduleDetails>>() {
            @Override
            public void onResponse(Call<List<ScheduleDetails>> call, Response<List<ScheduleDetails>> response) {
                List<ScheduleDetails> userList = response.body();
                layoutManager = new LinearLayoutManager(getContext());

                RecyclerView recyclerView =inflatedView.
                        findViewById(R.id.scheduleRecycler);
                recyclerView.setLayoutManager(layoutManager);

                scheduleAdapter recyclerViewAdapter =
                        new scheduleAdapter(userList);

                recyclerView.setAdapter(recyclerViewAdapter);

            }

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

            }

        });
    }catch (Exception e) {}
}

} ​​

  note: ive try to use the debug tool.. it says that my api is message:OK also the response= true... but i havnt display the data on my recyclerview...

Надеюсь, вы понимаете мой вопрос .. Не стесняйтесь комментировать, если я не прав в моем вопросе .. спасибо, ребята.

это мой пример API с использованием бессонницы:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...