あなたがこれを達成するために必要なのは、RecyclerViewの高さを動的に設定することです。以前はこれをListViewで行いました。
あなたは、このメソッドを使用することができListViewコントロールするRecyclerViewから切り替えることができた場合は、それ以外のコメントを残して、私はあなたのRecyclerViewのコードを調整します:
/**
* Sets ListView height dynamically based on the height of the items.
*
* @param listView to be resized
* @return true if the listView is successfully resized, false otherwise
*/
public static boolean setListViewHeightBasedOnItems(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter != null) {
int numberOfItems = listAdapter.getCount();
// Get total height of all items.
int totalItemsHeight = 0;
for (int itemPos = 0; itemPos < numberOfItems; itemPos++) {
View item = listAdapter.getView(itemPos, null, listView);
item.measure(0, 0);
totalItemsHeight += item.getMeasuredHeight();
}
// Get total height of all item dividers.
int totalDividersHeight = listView.getDividerHeight() *
(numberOfItems - 1);
// Set list height.
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalItemsHeight + totalDividersHeight;
listView.setLayoutParams(params);
listView.requestLayout();
return true;
} else {
return false;
}
}
それはRecyclerViewがuslessなります...ただのLinearLayoutを使います.. – Selvin
アイテムのレイアウトを作成し、それをダイナミックに追加します。 – akshay
は分かりませんでした。詳しく教えてください。 –