Я пытаюсь RecyclerViews построить что-то вроде Pinterest шахматной компоновки. Однако, в то время как LinearLayoutMnager и GridLayoutManager работают хорошо в одном и том же коде, вместо этого с помощью StaggeredGridLayoutManager не отображаются какие-либо элементы. Помещение контрольных точек в код показывает, что он получает счетчик предметов и элементы, но ничего не отображает. Любая идея о том, что мне не хватает?Использование RecyclerView с 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()));
Замена StaggeredGridLayoutManager только GridLayoutManger - все работает.
rView.setLayoutManager(new GridLayoutManager(this, 5));
Ниже адаптер:
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 getItemCount() {
return mList.size();
}
}
И следующее это ViewHolder
private static class ItemViewHolder extends RecyclerView.ViewHolder {
public final HiveView hive;
public ItemViewHolder(View view) {
super(view);
this.hive = (HiveView) view;
}
}
И, наконец, макет элемент
<?xml version="1.0" encoding="utf-8"?>
<com.bidyut.app.hivelauncher.widget.HiveView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/app_blob_size"
android:layout_height="@dimen/app_blob_size"
android:background="@android:color/holo_red_light"/>
Я редактирую исходный вопрос с запрошенной вами информацией. – bidyut
Вот и все! Благодаря! – bidyut