Skip to content Skip to sidebar Skip to footer

What To Use Instead Of RecyclerView If Not Recycling Items

I am a beginner and I have seen many tutorials on how to create a list using RecyclerView, but I can't find any how to use a list without recycling. I have a list of 3 items. what

Solution 1:

Another way to look at you list would be as simple items (since there are only 3). You can just add items to a LinearLayout with orientation as vertical.

You can even go further and create a common item layout XML, and using a for loop, inflate your LinearLayout. Example:

//create item class
@AllArgsConstructor @Getter
private static class Item {
    private int iconId;
    private String mainText;
    private String detailsText;
}

// create item
private Item ITEM_1 = new Item(R.drawable.some_drawable, getString(R.string.some_string), getString(R.string.some_string));

//add item to an arrayList (only add what you want that logged in user to see :D)
itemList.add((ITEM_1))

//layout you want to add to
@BindView(R.id.content) LinearLayout layoutToAddTo;

LayoutInflater inflater = LayoutInflater.from(getContext());
for (Item item : itemList) {  // a list which holds all your Items
    //XML that the Item class matches.
    View card = inflater.inflate(R.layout.card, layoutToAddTo, false);
    bindContent(card, item);
    card.setOnClickListener(__ -> /* set your listener */));
    layoutToAddTo.addView(card);
}

//bind your content
private void bindContent(View view, Item item) {
    ((ImageView) view.findViewById(R.id.card_icon)).setImageDrawable(ContextCompat.getDrawable(context, item.getIconId());
    ((TextView) view.findViewById(R.id.card_main_text)).setText(item.getMainText());
    ((TextView) view.findViewById(R.id.card_details_text)).setText(item.getDetailsText());
}

Best for few items, otherwise try to use Recycler View.


Solution 2:

You can use ListView if you don't want to recycle the list item. Here ListView


Post a Comment for "What To Use Instead Of RecyclerView If Not Recycling Items"