Всегда я получаю “E/RecyclerView: Не adapter attached; skipping layout” когда я делаю intent, чтобы соглашаться на activity в вопросе

У меня есть проблема с Fragment, volley, RecycleView. Главным образом дело в том, что я всегда получаю ошибку E/RecyclerView: Не adapter attached; skipping layout а следовательно никогда я ничего не делаю с нагруженной датой.

Присоединенное Соединение Github, чтобы видеть весь repo. того, чтобы быть необходим: https://github.com/fabriziofranco/Pi_2

Когда debugeo я вижу, что он, потому что mAdapter matiene как null, так как порядок, в котором выполняют вещи, не позволяет, что он согласился на него.

public class HomeFragment extends Fragment {

    RecyclerView mRecyclerView;
    RecyclerView.Adapter mAdapter;
    Context mContext;
    Activity mActivity;
    View root_global;
    public void showMessage(String message) {
        Toast.makeText(getActivity(), message, Toast.LENGTH_LONG).show();
    }


    private HomeViewModel homeViewModel;

    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {


        homeViewModel =
                ViewModelProviders.of(this).get(HomeViewModel.class);

        View root = inflater.inflate(R.layout.fragment_home, container, false);
        mRecyclerView = root.findViewById(R.id.main_recycler_view);
        return root;
    }

    @Override
    public void onResume() {
        super.onResume();
        getProducts();
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        mContext = context;
        mActivity= getActivity();
    }

    public void getProducts(){
        String url = "http://10.0.2.2:8080/products";
        mRecyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
        RequestQueue queue = Volley.newRequestQueue(mContext);
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
                Request.Method.GET,
                url,
                null,
                new Response.Listener() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            JSONArray data = response.getJSONArray("data");
                            mAdapter = new HomeAdapter(data, getActivity());
                            mRecyclerView.setAdapter(mAdapter);
                            showMessage("Se logro");
                        }catch (JSONException e) {
                            e.printStackTrace();
                            showMessage("Error de JSON");
                        }
                    }
                }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                // TODO: Handle error
                error.printStackTrace();
            }
        });
        queue.add(jsonObjectRequest);
    }

}

0
задан 03.11.2019, 02:15
1 ответ

Эта ошибка

RecyclerView: Не adapter attached; skipping layout”, когда я делаю intent, чтобы соглашаться на activity в cuestiГіn

, он решен определяя один LayoutManager в тебя RecyclerView, в твоем случае serГ - в:

...
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mRecyclerView.setLayoutManager(layoutManager);

mAdapter = new HomeAdapter(data, getActivity());
mRecyclerView.setAdapter(mAdapter);
showMessage("Se logro");
...
0
ответ дан 01.12.2019, 13:01