Как получить позицию элемента повторного просмотра с помощью DataBinding? - PullRequest
0 голосов
/ 07 ноября 2019

Я делаю список Предметов с помощью Recycler, прежде чем использовать привязку данных, я могу получить позицию просто по вызову modelitem.getposition(1).likecounter Прямо сейчас, когда я использую databinding modelitem.likecounter.getValue(), мой RecyclerView становится странным, и все элементы становятся одинаковыми значениями, потому что яне могу получить позицию

MainActivity.java

public void createDummyData1UPDATE(int ReceivedDummyUrutan, int ReceivedTotalThread, String ReceivedDummyIDContent, String ReceivedDummyTitle, String ReceivedDummyPublishTime, String ReceivedDummyImageOri, String ReceivedDummyShortDescription, int ReceivedDummySeen, int ReceivedDummyComment, int ReceivedDummyLike, int ReceivedDummyisComment, int ReceivedDummyisLike, int ReceivedDummyisBookmark) {
    modelSingleHotTrendingNews.add(new ModelSingleHotTrendingNews(ReceivedDummyIDContent, ReceivedDummyPublishTime, ReceivedDummyImageOri, ReceivedDummyShortDescription, ReceivedDummySeen, ReceivedDummyComment, ReceivedDummyisComment, ReceivedDummyisBookmark,"x53535", "No Error"));



    if(ReceivedDummyUrutan ==  ReceivedTotalThread-1){

        modelSingleHotTrendingNewsBB.gametitle.setValue(ReceivedDummyTitle);
        modelSingleHotTrendingNewsBB.likecounter.setValue(ReceivedDummyLike);
        modelSingleHotTrendingNewsBB.islike.setValue(ReceivedDummyisLike);

        //LISTENER
        listenerHotTrendingNews = new AdapterSingleHotTrendingNews.RecyclerViewClickListener() {
            @Override
            public void onRowHotTrendingNewsContainerClick(View view, int position) {
                Toast.makeText(getActivity(), "Kamu Ngeclick Row Games News " + modelSingleHotTrendingNews.get(position).getIdcontent(), Toast.LENGTH_SHORT).show();

                //Passing Data to TabDetailHotActivity
                Intent intent = new Intent(getActivity(), TabDetailHotActivity.class);
                intent.putExtra("DummyIDContentPKG",  modelSingleHotTrendingNews.get(position).getIdcontent());
                /*intent.putExtra("DummyTitlePKG",  modelSingleHotTrendingNews.get(position).getGametitle());*/
                intent.putExtra("DummyPublishTimePKG",  modelSingleHotTrendingNews.get(position).getGamedate());
                intent.putExtra("DummyImageOriPKG",  modelSingleHotTrendingNews.get(position).getGameimage());
                intent.putExtra("DummyShortDescriptionPKG",  modelSingleHotTrendingNews.get(position).getGamedescription());
                intent.putExtra("DummySeenPKG",  modelSingleHotTrendingNews.get(position).getSeencounter());
                intent.putExtra("DummyCommentPKG",  modelSingleHotTrendingNews.get(position).getCommentcounter());
                /*intent.putExtra("DummyLikePKG",  modelSingleHotTrendingNews.get(position).getLikecounter());*/
                intent.putExtra("DummyisCommentPKG",  modelSingleHotTrendingNews.get(position).getIscomment());
                /*intent.putExtra("DummyisLikePKG",  modelSingleHotTrendingNews.get(position).getIslike());*/
                intent.putExtra("DummyisBookmarkPKG",  modelSingleHotTrendingNews.get(position).getTrendingnewssaving());

                startActivity(intent);
            }

            @Override
            public void onRowCommentViewClick(View view, int position) {
                /*mainActivity_.rncryptorCommentLikeBookmark("isComment", modelSingleHotTrendingNews.get(position).getIdcontent(), modelSingleHotTrendingNews.get(position).getIscomment());*/
            }

            @Override
            public void onRowLikeViewClick(View view, int position) {

                if(modelSingleHotTrendingNewsBB.islike != null) {
                    mainActivity_.rncryptorCommentLikeBookmark("isLike", modelSingleHotTrendingNews.get(position).getIdcontent(), modelSingleHotTrendingNewsBB.islike.getValue());
                }

            }
        };

        //RECYCLERVIEW
        ModelSectionHotTrendingNews modelSectionHotTrendingNewsX = new ModelSectionHotTrendingNews();
        modelSectionHotTrendingNewsX.setHeaderTitle("TRENDING NEWS");
        modelSectionHotTrendingNewsX.setAllItemsInSection(modelSingleHotTrendingNews);
        modelSectionHotTrendingNews.add(modelSectionHotTrendingNewsX);

        /*RecyclerViewSingleHotTrendingNews = v.findViewById(R.id.RecyclerView_Single_HotTrendingNews);*/
        RecyclerViewSingleHotTrendingNews = fragmentTabhotBinding.RecyclerViewSingleHotTrendingNews;
        RecyclerViewSingleHotTrendingNews.setHasFixedSize(true);
        adapterSectionHotTrendingNews = new AdapterSectionHotTrendingNews(getActivity(), modelSectionHotTrendingNews, listenerHotTrendingNews);
        RecyclerViewSingleHotTrendingNews.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
        RecyclerViewSingleHotTrendingNews.setAdapter(adapterSectionHotTrendingNews);
        //Optimized
        RecyclerViewSingleHotLatestNews.setHasFixedSize(true);
        RecyclerViewSingleHotLatestNews.setItemViewCacheSize(20);

        /*ModelSingleHotTrendingNews modelSingleHotTrendingNewsX;
        modelSingleHotTrendingNewsX = modelSingleHotTrendingNews.get(0);
        fragmentTabhotBinding.setRfg(modelSingleHotTrendingNewsX);*/
        ViewModel_HotTrendingNews viewModel_hotTrendingNews;
        viewModel_hotTrendingNews = null;
        fragmentTabhotBinding.setApaan(viewModel_hotTrendingNews);


    }


}

MainActivity.java

public void getisCommentLikeBookmarkMainActivity(int ReceivedDummyLike, int ReceivedDummyisLike){
    Toast.makeText(getActivity(), "BerhasilLikeUnlike="+ReceivedDummyLike+"DummyisLike"+ ReceivedDummyisLike, Toast.LENGTH_LONG).show();

    modelSingleHotTrendingNewsBB.gametitle.observe(getActivity(), new Observer<String>() {
        @Override
        public void onChanged(String s) {
            fragmentTabhotBinding.testes.setText(s);
        }
    });


    modelSingleHotTrendingNewsBB.gametitle.postValue("Title Baru");
    modelSingleHotTrendingNewsBB.likecounter.postValue(ReceivedDummyLike);
    modelSingleHotTrendingNewsBB.islike.postValue(ReceivedDummyisLike);

    /*modelSingleHotTrendingNewsX.gametitle.observe(this, new Observer<List<ModelSingleHotTrendingNews>>() {
        @Override
        public void onChanged(@Nullable List<ModelSingleHotTrendingNews> modelSingleHotTrendingNews) {
            adapterSingleHotTrendingNews.setmodelSingleHotTrendingNewsSD((ArrayList<ModelSingleHotTrendingNews>) modelSingleHotTrendingNews);
        }
    });*/

    ViewModel_HotTrendingNews viewModel_hotTrendingNews = new ViewModelProvider(getActivity()).get(ViewModel_HotTrendingNews.class);
    viewModel_hotTrendingNews.TopTitle.postValue("YAHYAHYAH");
    viewModel_hotTrendingNews.TopTitle.observe(getActivity(), new Observer<String>() {
        @Override
        public void onChanged(String s) {
            fragmentTabhotBinding.testes.setText(s);
        }
    });


}

Model.java

public class ModelSingleHotTrendingNews extends ViewModel implements Serializable {

    private String idcontent;
    public MutableLiveData<String> gametitle = new MutableLiveData<>();

    private String gamedate;
    private String gameimage;
    private String gamedescription;

    private int seencounter;
    private int commentcounter;
    public MutableLiveData<Integer> likecounter = new MutableLiveData<>();

    private int iscomment;
    public MutableLiveData<Integer> islike = new MutableLiveData<>();
    private int trendingnewssaving;

    private String value;
    private String message;



    public ModelSingleHotTrendingNews() {
    }

    public ModelSingleHotTrendingNews(MutableLiveData<String> gametitle) {
        this.gametitle = gametitle;
    }

    public ModelSingleHotTrendingNews(String idcontent, String gamedate, String gameimage, String gamedescription, int seencounter, int commentcounter, int iscomment, int trendingnewssaving, String value, String message) {
        this.idcontent = idcontent;
        this.gamedate = gamedate;
        this.gameimage = gameimage;
        this.gamedescription = gamedescription;
        this.seencounter = seencounter;
        this.commentcounter = commentcounter;
        this.iscomment = iscomment;
        this.trendingnewssaving = trendingnewssaving;
        this.value = value;
        this.message = message;
    }


    public MutableLiveData<String> getGametitle() {
        gametitle.setValue(gametitle.getValue());
        return gametitle;
    }

    public void setGametitle(MutableLiveData<String> gametitle) {
        this.gametitle = gametitle;
    }


    public MutableLiveData<Integer> getLikecounter() {
        likecounter.setValue(likecounter.getValue());
        return likecounter;
    }

    public void setlikecounter(MutableLiveData<Integer> likecounter) {
        this.likecounter = likecounter;
    }

    public MutableLiveData<Integer> getIslike() {
        if(islike.getValue() == null) {
            islike.setValue(0);
        }
        return islike;
    }

    public void setIslike(MutableLiveData<Integer> islike) {
        this.islike = islike;
    }


    public String getIdcontent() {
        return idcontent;
    }

    public void setIdcontent(String idcontent) {
        this.idcontent = idcontent;
    }




    public String getGamedate() {
        return gamedate;
    }

    public void setGamedate(String gamedate) {
        this.gamedate = gamedate;
    }

    public String getGameimage() {
        return gameimage;
    }

    public void setGameimage(String gameimage) {
        this.gameimage = gameimage;
    }

    public String getGamedescription() {
        return gamedescription;
    }

    public void setGamedescription(String gamedescription) {
        this.gamedescription = gamedescription;
    }

    public int getSeencounter() {
        return seencounter;
    }

    public void setSeencounter(int seencounter) {
        this.seencounter = seencounter;
    }

    public int getCommentcounter() {
        return commentcounter;
    }

    public void setCommentcounter(int commentcounter) {
        this.commentcounter = commentcounter;
    }



    public int getIscomment() {
        return iscomment;
    }

    public void setIscomment(int iscomment) {
        this.iscomment = iscomment;
    }



    public int getTrendingnewssaving() {
        return trendingnewssaving;
    }

    public void setTrendingnewssaving(int trendingnewssaving) {
        this.trendingnewssaving = trendingnewssaving;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

ОБНОВЛЕНО //Adapter.java

public class AdapterSingleHotTrendingNews extends RecyclerView.Adapter{

    private Context mContext;
    private ArrayList<ModelSingleHotTrendingNews> modelSingleHotTrendingNews;

    private RecyclerViewClickListener mListener;


    public AdapterSingleHotTrendingNews(Context mContext, ArrayList<ModelSingleHotTrendingNews> modelSingleHotTrendingNews, RecyclerViewClickListener mListener) {
        this.mContext = mContext;
        this.modelSingleHotTrendingNews = modelSingleHotTrendingNews;
        this.mListener = mListener;
    }




    public void setmodelSingleHotTrendingNewsSD(ArrayList<ModelSingleHotTrendingNews> modelSingleHotTrendingNews) {
        this.modelSingleHotTrendingNews = modelSingleHotTrendingNews;
        notifyDataSetChanged();
    }



    //Container
    @Override
    public SingleHotTrendingNewsViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
        /*View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_single_hottrendingnews, null);
        return new SingleHotTrendingNewsViewHolder(v, mListener);*/


        View v;
        /*ModelSingleHotTrendingNews modelSingleHotTrendingNewsX;
            modelSingleHotTrendingNewsX = modelSingleHotTrendingNews.get(0);
            fragmentTabhotBinding.setRfg(modelSingleHotTrendingNewsX);*/
        final ItemSingleHottrendingnewsBinding itemSingleHottrendingnewsBinding;
        itemSingleHottrendingnewsBinding = DataBindingUtil.inflate(LayoutInflater.from(viewGroup.getContext()),
                R.layout.item_single_hottrendingnews, viewGroup, false);
        itemSingleHottrendingnewsBinding.setLifecycleOwner((FragmentActivity) mContext);

        final ModelSingleHotTrendingNews modelSingleHotTrendingNewsX;
        modelSingleHotTrendingNewsX = new ViewModelProvider((FragmentActivity) mContext).get(ModelSingleHotTrendingNews.class);
        modelSingleHotTrendingNewsX.gametitle.observe((FragmentActivity) mContext, new Observer<String>() {
            @Override
            public void onChanged(String s) {
                itemSingleHottrendingnewsBinding.TVGameTitle.setText(s);
            }
        });
        modelSingleHotTrendingNewsX.likecounter.observe((FragmentActivity) mContext, new Observer<Integer>() {
            @Override
            public void onChanged(Integer integer) {
                itemSingleHottrendingnewsBinding.TVLikeCounter.setText(String.valueOf(integer));
            }
        });
        modelSingleHotTrendingNewsX.islike.observe((FragmentActivity) mContext, new Observer<Integer>() {
            @Override
            public void onChanged(Integer integer) {
                if(integer == 0){
                    itemSingleHottrendingnewsBinding.IMGLikeView.setImageResource(R.drawable.heart_off);
                }else if(integer == 1){
                    itemSingleHottrendingnewsBinding.IMGLikeView.setImageResource(R.drawable.heart_on);
                }
            }
        });


        return new SingleHotTrendingNewsViewHolder(itemSingleHottrendingnewsBinding, mListener);
    }


    //Fill Container with Model Setter Getter
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        final SingleHotTrendingNewsViewHolder singleHotTrendingNewsViewHolder = (SingleHotTrendingNewsViewHolder) holder;
        final ModelSingleHotTrendingNews modelSingleHotTrendingNewsX = modelSingleHotTrendingNews.get(position);


        //SETBINDING
        ModelSingleHotTrendingNews modelSingleHotTrendingNewsZ;
        modelSingleHotTrendingNewsZ = new ViewModelProvider((FragmentActivity) mContext).get(ModelSingleHotTrendingNews.class);

        //Set
        singleHotTrendingNewsViewHolder.TVGameDate.setText(modelSingleHotTrendingNewsX.getGamedate());
        /*singleHotTrendingNewsViewHolder.TVGameTitle.setText(singleHotTrendingNewsViewHolder.modelSingleHotTrendingNewsZ.gametitle.getValue());*/
        Glide.with(mContext).load(modelSingleHotTrendingNewsX.getGameimage()).into(singleHotTrendingNewsViewHolder.IMGGameImage);
        /*singleHotTrendingNewsViewHolder.IMGGameImage.setImageResource(modelSingleHotTrendingNewsX.getGameimage());*/

        singleHotTrendingNewsViewHolder.TVSeenCounter.setText(String.valueOf(modelSingleHotTrendingNewsX.getSeencounter()));
        singleHotTrendingNewsViewHolder.TVCommentCounter.setText(String.valueOf(modelSingleHotTrendingNewsX.getCommentcounter()));
        /*singleHotTrendingNewsViewHolder.TVLikeCounter.setText(String.valueOf(modelSingleHotTrendingNewsZ.likecounter.getValue()));*/

        if (modelSingleHotTrendingNewsX.getIscomment() == 0) {
            singleHotTrendingNewsViewHolder.IMGCommentView.setImageResource(R.drawable.comment_off);
        } else if (modelSingleHotTrendingNewsX.getIscomment() == 1) {
            singleHotTrendingNewsViewHolder.IMGCommentView.setImageResource(R.drawable.comment_on);
        }

        /*if (modelSingleHotTrendingNewsX.islike.getValue() != null){
            if (modelSingleHotTrendingNewsX.islike.getValue().equals(0)) {
                singleHotTrendingNewsViewHolder.IMGLikeView.setImageResource(R.drawable.heart_off);
            } else if (modelSingleHotTrendingNewsX.islike.getValue().equals(1)) {
                singleHotTrendingNewsViewHolder.IMGLikeView.setImageResource(R.drawable.heart_on);
            }
        }*/

        if(modelSingleHotTrendingNewsX.getTrendingnewssaving() == 0) {
            singleHotTrendingNewsViewHolder.ICONHotTrendingNewsSaving.setImageResource(R.drawable.saved_off);
            singleHotTrendingNewsViewHolder.ICONHotTrendingNewsSaving.setVisibility(View.GONE);
        }else if(modelSingleHotTrendingNewsX.getTrendingnewssaving() == 1) {
            singleHotTrendingNewsViewHolder.ICONHotTrendingNewsSaving.setImageResource(R.drawable.saved_on);
        }

        singleHotTrendingNewsViewHolder.ICONHotTrendingNewsSaving.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                final int booltrendingnewssaving = modelSingleHotTrendingNewsX.getTrendingnewssaving();

                final String idcontent = modelSingleHotTrendingNewsX.getIdcontent();

                if (booltrendingnewssaving == 1){
                    Toast.makeText(v.getContext(), "Turn Off Saved News " + idcontent, Toast.LENGTH_SHORT).show();
                    singleHotTrendingNewsViewHolder.ICONHotTrendingNewsSaving.setImageResource(R.drawable.saved_off);
                    modelSingleHotTrendingNewsX.setTrendingnewssaving(0);
                    /*updateSavedNewsSaving("update_newssaving", id, false);*/
                } else if(booltrendingnewssaving == 0) {
                    Toast.makeText(v.getContext(), "Turn On Saved News " + idcontent, Toast.LENGTH_SHORT).show();
                    singleHotTrendingNewsViewHolder.ICONHotTrendingNewsSaving.setImageResource(R.drawable.saved_on);
                    modelSingleHotTrendingNewsX.setTrendingnewssaving(1);
                    /*updateSavedNewsSaving("update_newssaving", id, true);*/
                }
            }
        });



       /* Glide.with(mContext)
                .load(feedItem.getImageURL())
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .centerCrop()
                .error(R.drawable.bg)
                .into(feedListRowHolder.thumbView);*/

        /*singleHotTrendingNewsViewHolder.ROWHotTrendingNewsContainer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(v.getContext(), modelSingleHotTrendingNews.get(position).getGamedescription(), Toast.LENGTH_SHORT).show();

                //Passing Data to GameDescriptionActivity
                Intent intent = new Intent(mContext, GameDetailActivity.class);
                intent.putExtra("ImagePKG",  modelSingleHotTrendingNews.get(position).getGameimage());
                intent.putExtra("NamePKG",  modelSingleHotTrendingNews.get(position).getGamedate());
                intent.putExtra("UrlPKG",  modelSingleHotTrendingNews.get(position).getIdcontent());
                intent.putExtra("DescriptionPKG",  modelSingleHotTrendingNews.get(position).getGametitle());
                mContext.startActivity(intent);
            }
        });*/
    }

    @Override
    public int getItemCount() {
        int itemCount = modelSingleHotTrendingNews.size();
        return itemCount;
    }

    public void setmodelSingleHotTrendingNews(ArrayList<ModelSingleHotTrendingNews> modelSingleHotTrendingNews) {
        this.modelSingleHotTrendingNews = modelSingleHotTrendingNews;
        notifyDataSetChanged();
    }

    public class SingleHotTrendingNewsViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
        TextView TVGameDate;
        TextView TVGameTitle;
        ImageView IMGGameImage;

        TextView TVSeenCounter;
        TextView TVCommentCounter;
        TextView TVLikeCounter;

        ImageView IMGSeenView;
        ImageView IMGCommentView;
        ImageView IMGLikeView;

        ImageView ICONHotTrendingNewsSaving;
        private RelativeLayout ROWHotTrendingNewsContainer;

        private RecyclerViewClickListener mListener;

        //
        private ItemSingleHottrendingnewsBinding itemSingleHottrendingnewsBinding;
        ModelSingleHotTrendingNews modelSingleHotTrendingNewsZ;


        public SingleHotTrendingNewsViewHolder(ItemSingleHottrendingnewsBinding itemSingleHottrendingnewsBinding, RecyclerViewClickListener listener) {
            super(itemSingleHottrendingnewsBinding.getRoot());

            this.itemSingleHottrendingnewsBinding = itemSingleHottrendingnewsBinding;

            TVGameDate = itemView.findViewById(R.id.TV_GameDate);
            TVGameTitle = itemView.findViewById(R.id.TV_GameTitle);
            IMGGameImage = itemView.findViewById(R.id.IMG_GameImage);

            TVSeenCounter = itemView.findViewById(R.id.TV_SeenCounter);
            TVCommentCounter = itemView.findViewById(R.id.TV_CommentCounter);
            TVLikeCounter = itemView.findViewById(R.id.TV_LikeCounter);

            IMGSeenView = itemView.findViewById(R.id.IMG_SeenView);
            IMGCommentView = itemView.findViewById(R.id.IMG_CommentView);
            IMGLikeView = itemView.findViewById(R.id.IMG_LikeView);

            ICONHotTrendingNewsSaving = itemView.findViewById(R.id.ICON_HotTrendingNewsSaving);
            ROWHotTrendingNewsContainer = itemView.findViewById(R.id.ROW_HotTrendingNewsContainer);

            mListener = listener;
            ROWHotTrendingNewsContainer.setOnClickListener(this);
            IMGCommentView.setOnClickListener(this);
            IMGLikeView.setOnClickListener(this);

            //
        }

        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.ROW_HotTrendingNewsContainer:
                    mListener.onRowHotTrendingNewsContainerClick(ROWHotTrendingNewsContainer, getAdapterPosition());
                    break;
                case R.id.IMG_CommentView:
                    mListener.onRowCommentViewClick(IMGCommentView, getAdapterPosition());
                    break;
                case R.id.IMG_LikeView:
                    mListener.onRowLikeViewClick(IMGLikeView, getAdapterPosition());
                    break;
                default:
                    break;
            }
        }
    }

    public interface RecyclerViewClickListener {
        void onRowHotTrendingNewsContainerClick(View view, int position);
        void onRowCommentViewClick(View view, int position);
        void onRowLikeViewClick(View view, int position);
    }

}

item_single_hottrendingnews.xml

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable
            name="ohyeah"
            type="com.indofun.android.indojoy.models.model_hottrendingnews.ModelSingleHotTrendingNews" />
        <variable
            name="position"
            type="int"/>
    </data>
    <RelativeLayout
        android:id="@+id/ROW_HotTrendingNewsContainer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="350dp"
            android:layout_margin="5dp">

            <RelativeLayout
                android:id="@+id/RL_MainScreen"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/darkgrey"
                android:padding="0dp">

                <ImageView
                    android:id="@+id/IMG_GameImage"
                    android:layout_width="match_parent"
                    android:layout_height="200dp"
                    android:padding="4dp" />


                <TextView
                    android:id="@+id/TV_GameDate"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/IMG_GameImage"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="5dp"
                    android:text="13.3 Inch, 256 GB"
                    android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
                    android:textColor="@color/textColor"
                    android:textSize="12dp" />

                <TextView
                    android:id="@+id/TV_GameTitle"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/TV_GameDate"
                    android:layout_marginLeft="10dp"
                    android:maxLines="2"
                    android:minLines="1"
                    android:text="@{ohyeah.gametitle}"
                    android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
                    android:textColor="@color/white" />

                <ImageView
                    android:id="@+id/IMG_SeenView"
                    android:layout_width="12dp"
                    android:layout_height="12dp"
                    android:layout_below="@id/TV_GameTitle"
                    android:layout_marginLeft="8dp"
                    android:layout_marginTop="1dp"
                    android:adjustViewBounds="true"
                    android:paddingTop="2dp"
                    android:scaleType="centerInside"
                    android:src="@drawable/watch" />

                <TextView
                    android:id="@+id/TV_SeenCounter"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/TV_GameTitle"
                    android:layout_toRightOf="@id/IMG_SeenView"
                    android:paddingLeft="@dimen/small_intrinsic_padding"
                    android:paddingTop="1dp"
                    android:text="999"
                    android:textAppearance="@style/TextAppearance.Second.Light"
                    android:textColor="@color/white"
                    android:textSize="10dp" />

                <ImageView
                    android:id="@+id/IMG_CommentView"
                    android:layout_width="8dp"
                    android:layout_height="8dp"
                    android:layout_below="@id/TV_GameTitle"
                    android:layout_marginLeft="5dp"
                    android:layout_marginTop="4dp"
                    android:layout_marginBottom="2dp"
                    android:layout_toRightOf="@id/TV_SeenCounter"
                    android:adjustViewBounds="true"
                    android:scaleType="centerInside"
                    android:src="@drawable/comment_off" />

                <TextView
                    android:id="@+id/TV_CommentCounter"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/TV_GameTitle"
                    android:layout_marginTop="1dp"
                    android:layout_toRightOf="@id/IMG_CommentView"
                    android:paddingLeft="@dimen/small_intrinsic_padding"
                    android:text="999"
                    android:textAppearance="@style/TextAppearance.Second.Light"
                    android:textColor="@color/white"
                    android:textSize="10dp" />

                <ImageView
                    android:id="@+id/IMG_LikeView"
                    android:layout_width="8dp"
                    android:layout_height="8dp"
                    android:layout_below="@id/TV_GameTitle"
                    android:layout_marginLeft="5dp"
                    android:layout_marginTop="4dp"
                    android:layout_marginBottom="2dp"
                    android:layout_toRightOf="@id/TV_CommentCounter"
                    android:adjustViewBounds="true"
                    android:scaleType="centerInside"
                    android:src="@drawable/heart_off" />


                <TextView
                    android:id="@+id/TV_LikeCounter"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/TV_GameTitle"
                    android:layout_marginTop="1dp"
                    android:layout_toRightOf="@id/IMG_LikeView"
                    android:paddingLeft="@dimen/small_intrinsic_padding"
                    android:text="@{String.valueOf(ohyeah.likecounter)}"
                    android:textAppearance="@style/TextAppearance.Second.Light"
                    android:textColor="@color/white"
                    android:textSize="10dp" />


            </RelativeLayout>
        </androidx.cardview.widget.CardView>
    </RelativeLayout>
</layout>
...