У меня есть RecyclerViewerActivity
с пользовательским адаптером внутри. Есть категории продуктов в RecyclerViewer
и адаптер имеет имя для каждой категории, как:Как передать значение из одного действия в другое и показать его в адаптере?
category 1 = "drinks", category 2 - "dairy", category 3 = "pasta".
Когда пользователь нажимает на «напитки» - новые ActivityDrinks
называемых с учетом списка, чтобы добавить элементы для этого category- он может добавить соду, колы.
Если он нажимает на «молочные продукты», - ActivityDairy
открывается, и он может добавить молоко, йогурт ...
Теперь я пытаюсь реализовать некий индикатор существующих элементов в списке и передать его в adapter.So, если есть хотя бы один элемент в ActivityDrinks
- Я хочу отобразить некоторое изображение над именем категории в моем адаптере (в действии RecyclerViewer
). Таким образом, пользователь может увидеть, есть ли у него какие-либо предметы в категории или нет.
Я добавил логическую переменную для проверки ArrayList в любой деятельности (ActivityDrinks, ActivityDairy):
if (arrayList == null) {
return false;
}
else {
return true;
}
Эта часть работает, но теперь я хочу, чтобы отобразить изображение над названием категории в моем адаптер (адаптер содержит название каждой категории + ImageView
для удержания индикатора) в зависимости от значения переменной: если variable = true
- отображаемое изображение.
Это мой Компоновка код (для одной карты RecyclerView):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ImageBack"
android:background="@drawable/back_standart">
<!--name of Category (like "drinks")-->
<TextView
android:text="text"
android:id="@+id/item_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="22dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="35dp"
android:layout_marginRight="8dp" />
<!--desired indicator-->
<ImageView
android:background="@drawable/iclun"
android:id="@+id/badgeView"
android:layout_marginLeft="100dp"
android:textColor="#FFF"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/item_title" />
</RelativeLayout>
И это мой код для проверки списка массива в ActivityDrinks (Использование Firebase):
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snap: dataSnapshot.getChildren()){
Log.e(snap.getKey(),snap.getChildrenCount()+"");
}
if(dataSnapshot.getChildrenCount()>0){
index_badge = true;
Адаптер:
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int position) {
viewHolder.txtViewTitle.setText(itemsData[position].getItem_title());
viewHolder.badge.setImageResource(itemsData[position].getBadge_index());
Я попытался использовать putExtras и передать значение моей переменной в RecyclerViewActivity. Но я действительно не понимаю, как передать значение переменной каждому элементу в RecyclerView. Возможно, что для «Напитков» это будет верно, а для «Дневника» - false, потому что в ActivityDairy нет элементов. В этом случае в моем адаптере для напитков мне нужно отобразить изображение/индикатор, а для дневника - нет.
добавить свой код и скриншот нужной раскладки – USKMobility
Да, пожалуйста, добавьте код (не все!) И скриншот (ы). Как бы то ни было, ваш вопрос многословен и нелегко ответить, потому что вы не знаете, какова фактическая проблема. – Sufian
см. Отредактированный вопрос – user5866501