0
を表示示しセクションとの私のRecyclerViewは、すべての二つの部分によってのみ6項目を示しているが、さらに多くのアイテムが私のデバイスのArrayListにあります。RecyclerViewはアイテムのみ
リサイクルレイアウトがすでに高さここ
でwrap_content
では、セクションと私のLinearRecyclerAdapterです:
public class LinearRecyclerAdapter extends RecyclerView.Adapter<LinearRecyclerAdapter.ViewHolder> {
ArrayList<Category> mCategory = new ArrayList<>();
ArrayList<Category> mCopyCategory = new ArrayList<>();
String tablequery = null;
Activity mActivity;
GridRecyclerAdapter mAdapterGrid;
public LinearRecyclerAdapter(Activity activity, ArrayList<Category> category, String table) {
mActivity = activity;
mCategory = category;
tablequery = table;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.catrecyclerlayout, parent, false);
ViewHolder viewHolder = new ViewHolder(v);
mCopyCategory.clear();
mCopyCategory.addAll(mCategory);
return viewHolder;
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
holder.position = position;
holder.category = getCategory(position);
holder.device_array = getDevices(position);
holder.isInt = getBool(position);
if (position != 0)
holder.tv_category.setText(holder.category);
else
holder.mLinearLayout.setVisibility(View.GONE);
mAdapterGrid = new GridRecyclerAdapter(mActivity, holder.device_array, tablequery, holder.isInt);
holder.recyclerView.setAdapter(mAdapterGrid);
holder.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
mAdapterGrid.notifyDataSetChanged();
}
});
}
@Override
public int getItemCount() {
return mCategory.size();
}
public String getCategory(int position) {
return mCategory.get(position).getmCategory();
}
public ArrayList<Devices> getDevices(int position) {
return mCategory.get(position).getmDevices();
}
public boolean getBool(int position) {
return mCategory.get(position).getisInt();
}
class ViewHolder extends RecyclerView.ViewHolder {
public int position;
public String category;
public ArrayList<Devices> device_array;
public boolean isInt = false;
public TextView tv_category = null;
public RecyclerView recyclerView = null;
public RecyclerView.LayoutManager mLayoutManager = null;
public LinearLayout mLinearLayout = null;
public View mView;
public ViewHolder(View itemView) {
super(itemView);
mView = itemView;
mLinearLayout = (LinearLayout) itemView.findViewById(R.id.category_ll);
recyclerView = (RecyclerView) itemView.findViewById(R.id.recycler_view);
tv_category = (TextView) itemView.findViewById(R.id.tv_category);
// Calling the RecyclerView
recyclerView.setHasFixedSize(true);
// The number of Columns
mLayoutManager = new GridLayoutManager(mActivity, 2);
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setNestedScrollingEnabled(false);
}
}
}
そして、ここでは、私が
何を意味するかをお見せするためにスクリーンショットである私が誰かを願っています私を助けることができる私は
:(知っているすべてのものを試してみました
をwrap_contentする高さを設定するために1 relativelayoutで忘れていた私の質問
を解決し、あなたがチェックしていますか? –
カテゴリサイズが2 –
の場合、食べ物リストのサイズが2の場合、そのショーはどのように6ですか? –