我正在尝试使用RecyclerViews来构建像Pinterest交错排列的东西.但是,虽然LinearLayoutMnager和GridLayoutManager在同一代码中运行良好,但用StaggeredGridLayoutManager替换它不会显示任何项目.在代码中放置断点表明它获取了项目计数和项目,但没有提供任何内容.关于我失踪的任何想法?
final RecyclerView rView = (RecyclerView) findViewById(R.id.app_list);
rView.setClickable(true);
rView.setHasFixedSize(true);
rView.setLayoutManager(new StaggeredGridLayoutManager(5, StaggeredGridLayoutManager.HORIZONTAL));
rView.setAdapter(new ItemListAdapter(this, getItems()));
Run Code Online (Sandbox Code Playgroud)
用GridLayoutManger替换StaggeredGridLayoutManager一切正常.
rView.setLayoutManager(new GridLayoutManager(this, 5));
Run Code Online (Sandbox Code Playgroud)
以下是适配器:
private static class ItemListAdapter extends RecyclerView.Adapter<ItemViewHolder> {
private final LayoutInflater mInflater;
private final ArrayList<ItemDetail> mList;
public ItemListAdapter(Context context, ArrayList<ItemDetail> list) {
mInflater = LayoutInflater.from(context);
mList = list;
}
@Override
public ItemViewHolder onCreateViewHolder(ViewGroup parent, int position) {
final View view = mInflater.inflate(R.layout.item_blob, parent, false);
return new ItemViewHolder(view);
}
@Override
public void onBindViewHolder(ItemViewHolder holder, int position) {
holder.hive.showDrawable(mList.get(position).icon);
}
@Override
public int …Run Code Online (Sandbox Code Playgroud)