Зачем показывать пустые данные? - PullRequest
0 голосов
/ 26 октября 2018

Я разрабатываю приложение cv, но оно показывает белый экран. Я проверил ответ json в Postman, но оно показывает.

ниже моего LogCat

D/Surface: Surface::connect(this=0xa232a700,api=1)
W/libEGL: [ANDROID_RECORDABLE] format: 1
D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000
I/System.out: [socket][0] connection www.mocky.io/52.210.139.55:80;LocalPort=-1(10000)
D/: [Posix_connect Debug]Process activity.drawer.navigation.com.kitabsawticlone :80 
E/RecyclerView: No adapter attached; skipping layout

под моей ссылкой JSON

http://www.mocky.io/v2/5bd2bce93400000f00cfde57

ниже моего вводного пункта.java, где я выполняю модифицированный вызов

public class IntroductionItem extends AppCompatActivity {

  public List<Introduction> introductionList;
  public IntroductionAdapter adapter;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.introduction);
        KitabInterface kitabInterface = ApiClient.getApiService();
        Call<KitabSawti> call = kitabInterface.getIntroduction();

        call.enqueue(new Callback<KitabSawti>() {
            @Override
            public void onResponse(Call<KitabSawti> call, Response<KitabSawti> response) {
            introductionList =  response.body().getIntroduction();
            RecyclerView recyclerView  =  findViewById(R.id.recyclerView);
            adapter = new IntroductionAdapter(introductionList);
                recyclerView.setHasFixedSize(true);
                recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
                recyclerView.setAdapter(adapter);



            }

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

            }
        });



    }
}

ниже моего класса клиента API

public class ApiClient

{


        public static final String BASE_URL = "http://www.mocky.io/";

        /**
         * Get Retrofit Instance
         */


        public static Retrofit getRetrofitInstance() {
            return new Retrofit.Builder()

                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();

        }

        /**
         * Get API Service
         *
         * @return API Service
         */
        public static KitabInterface getApiService() {
            return getRetrofitInstance().create(KitabInterface.class);
        }
    }

ниже класса интерфейса, где я поставил конечную точку

public interface KitabInterface {

    @GET("/v2/5bd2bce93400000f00cfde57")
    Call<KitabSawti> getIntroduction();



}

ниже моего адаптера

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


    private List<Introduction> moviesList;

    public IntroductionAdapter(List<Introduction> moviesList) {
        this.moviesList = moviesList;
    }

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

        return new MyViewHolder(itemView);
    }

    @Override
    public void onBindViewHolder(@NonNull final MyViewHolder holder, int position) {
        final Introduction introduction = moviesList.get(position);

        if (introduction.getImage() != null) {

            Picasso.get().load(introduction.getImage()).
                    networkPolicy(NetworkPolicy.OFFLINE).transform(new RoundedCornersTransformation()).into(holder.imageView, new Callback() {
                @Override
                public void onSuccess() {

                }

                @Override
                public void onError(Exception e) {
                    Picasso.get().load(R.drawable.ic_contact).
                            into(holder.imageView);
                }
            });

        }
        holder.introduction.setText(introduction.getIntroduction());

    }

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

    public class MyViewHolder extends RecyclerView.ViewHolder {
        public TextView introduction, about;
        public ImageView imageView;

        public MyViewHolder(View view) {
            super(view);

            imageView = (ImageView) view.findViewById(R.id.imageView);
            introduction = (TextView) view.findViewById(R.id.introduction);
            about = (TextView) view.findViewById(R.id.about);


        }
    }
}
...