正在获取空适配器错误:E / RecyclerView:未连接适配器;跳过布局

问题描述 投票:-1回答:1

尝试检索数据并将其放入RecyclerView。但是我总是最终会得到一个空适配器错误。我的列表适配器无法识别。

我已经在OnCreate(),OnViewCreated()中初始化了适配器和recyclerview,除了应用程序崩溃外没有任何改变。

你们能给我一些启示吗?

我的列表适配器:

public class PostListAdapter extends RecyclerView.Adapter<PostListAdapter.ViewHolder>{

    private static final String TAG = "PostListAdapter";
    private static final int NUM_GRID_COLUMNS = 3;

    private ArrayList<Post> mPosts;
    private Context mContext;

    public class ViewHolder extends RecyclerView.ViewHolder{

        SquareImageView mPostImage;

        public ViewHolder(View itemView) {
            super(itemView);
            mPostImage = (SquareImageView) itemView.findViewById(R.id.post_image);

            int gridWidth = mContext.getResources().getDisplayMetrics().widthPixels;
            int imageWidth = gridWidth/NUM_GRID_COLUMNS;
            mPostImage.setMaxHeight(imageWidth);
            mPostImage.setMaxWidth(imageWidth);
        }
    }

    ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(mContext);




    public PostListAdapter(Context context, ArrayList<Post> posts) {
        mPosts = posts;
        mContext = context;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.layout_view_post, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {

        ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(mContext));

        UniversalImageLoader.setImage(mPosts.get(position).getImage(), holder.mPostImage);
        //GlideApp.with(mContext).load(mPosts.get(position)).into(holder.mPostImage);

        //imageLoader.displayImage(mPosts.get(position).getImage(), holder.mPostImage);

        final int pos = position;
        holder.mPostImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d(TAG, "onClick: selected a post");
                //TODO

                //view the post in more detail

            }
        });
    }

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


}

我的片段(我在其中初始化适配器和recyclerview):


@Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_search, container, false);
        mFilters = view.findViewById(R.id.ic_search);
        mSearchText = view.findViewById(R.id.input_search);
        mRecyclerView = view.findViewById(R.id.recyclerView);
        mFrameLayout = view.findViewById(R.id.container);

        getElasticSearchPassword();
        init();



        return view;
    }


    private void setupPostsList(){
        RecyclerViewMargin itemDecorator = new RecyclerViewMargin(GRID_ITEM_MARGIN, NUM_GRID_COLUMNS);
        mRecyclerView.addItemDecoration(itemDecorator);
        GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), NUM_GRID_COLUMNS);
        mRecyclerView.setLayoutManager(gridLayoutManager);
        mAdapter = new PostListAdapter(getActivity(), mPosts);
        mRecyclerView.setAdapter(mAdapter);

    }


android android-recyclerview recycler-adapter
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.