Java 从活动返回后,RecyclerView滚动变慢

Java 从活动返回后,RecyclerView滚动变慢,java,android,firebase,android-fragments,android-recyclerview,Java,Android,Firebase,Android Fragments,Android Recyclerview,我正在用Firebase Firestore编写新闻/文章应用程序。并且,我使用RecyclerView列出具有恒定高度的项目(具有恒定高度的imageview和textview)。这个过程是在FragmentNews上完成的,当我单击该项目查看详细信息时,就有了另一个活动的意图。返回该活动(单击“上一步”)后,recyclerview滚动会减慢速度。我读了旧的答案,但他们帮不了我, 这是我的代码Recyclerview适配器代码 package com.fabrika.gunes; impo

我正在用Firebase Firestore编写新闻/文章应用程序。并且,我使用RecyclerView列出具有恒定高度的项目(具有恒定高度的imageview和textview)。这个过程是在FragmentNews上完成的,当我单击该项目查看详细信息时,就有了另一个活动的意图。返回该活动(单击“上一步”)后,recyclerview滚动会减慢速度。我读了旧的答案,但他们帮不了我, 这是我的代码Recyclerview适配器代码

package com.fabrika.gunes;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Typeface;
import android.preference.PreferenceManager;
import android.text.Spannable;
import android.text.SpannableString;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.core.content.res.ResourcesCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.LinearSnapHelper;
import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.Glide;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;

public class MyRecMultiAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements MySubMultiRecListAdapter.ItemClickListenerSub{

    private Context context;
    public static ArrayList<MakalaModel> list;
    static ItemClickListener mClickListener;
    SharedPreferences preferences;
    String isWifiEnabled = "0", isOnlyWifi = "0";

    public MyRecMultiAdapter(Context context, ArrayList<MakalaModel> list) {
        this.context = context;
        this.list = list;

        preferences = PreferenceManager.getDefaultSharedPreferences(context);
        isWifiEnabled = preferences.getString("wifi_enabled", "0");
        isOnlyWifi = preferences.getString("wifi_only", "0");
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        if(viewType==0){
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list_makala_vertical, parent, false);
            NormMakalaHolder postHolder = new NormMakalaHolder(view);
            return postHolder;
        }
        else if(viewType==1){
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.makala_rec_row, parent, false);
            RecMakalaHolder authorHolder = new RecMakalaHolder(view);
            return authorHolder;
        }
        return null;

    }

    public static ArrayList<MakalaModel> getList(){
        return list;
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {

        if(getItemViewType(position)==0){
            MakalaModel postModel = list.get(position);
            NormMakalaHolder postHolder = (NormMakalaHolder) holder;
            postHolder.t_category.setText(postModel.getArticle_author());
            String firstWord = postModel.getArticle_title();
            String secondWord = postModel.getArticle_body().substring(0,150)+"...";
            postHolder.t_view.setText(""+postModel.getArticle_view_number());

// Create a new spannable with the two strings
            Spannable spannable = new SpannableString(firstWord+ ". " +secondWord);
// Set the custom typeface to span over a section of the spannable object
            Typeface typeface1 = ResourcesCompat.getFont(context, R.font.nunitosans_extra_bold);
            Typeface typeface2 = ResourcesCompat.getFont(context, R.font.nunitosans_light);
            spannable.setSpan( new CustomTypefaceSpan("sans-serif", typeface1), 0, firstWord.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            spannable.setSpan( new CustomTypefaceSpan("sans-serif", typeface2), firstWord.length(), firstWord.length() + secondWord.length()+2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

// Set the text of a textView with the spannable object
            postHolder.t_title.setText( spannable );

            String url = list.get(position).getArticle_img_url();
            if(isOnlyWifi.equals("1") && isWifiEnabled.equals("0")){
                url = "";
            }

            try {
                Glide
                        .with(context)
                        .load(new URL(url))
                        .centerCrop()
                        .placeholder(R.drawable.mini_map)
                        .into(postHolder.i_image);
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }

        }
        else{
            ArrayList<MakalaModel> listMakala = list.get(position).getListMakalaModel();
            MySubMultiRecListAdapter adapter = new MySubMultiRecListAdapter(context, listMakala);
            RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
            ((RecMakalaHolder) holder).recyclerView.setAdapter(adapter);
            ((RecMakalaHolder) holder).recyclerView.setLayoutManager(layoutManager);
//            LinearSnapHelper linearSnapHelper = new SnapHelperOneByOne();
//            linearSnapHelper.attachToRecyclerView(((RecMakalaHolder) holder).recyclerView);
            adapter.setClickListenerSub(this);
        }
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    @Override
    public int getItemViewType(int position) {
        return list.get(position).getViewType();
    }

    @Override
    public void onItemClick(View view, int position, ArrayList<MakalaModel> list) {
        
        Intent intent = new Intent(context, ActivityMakala.class);
        intent.putExtra("id", list.get(position).getMakala_id());
        intent.putExtra("type", "Articles");
        intent.putExtra("category", list.get(position).getArticle_category());
        intent.putExtra("date", list.get(position).getArticle_date());
        intent.putExtra("title", list.get(position).getArticle_title());
        intent.putExtra("author", list.get(position).getArticle_author());
        intent.putExtra("body", list.get(position).getArticle_body());
        intent.putExtra("img_url", list.get(position).getArticle_img_url());
        context.startActivity(intent);
    }

    public class RecMakalaHolder extends RecyclerView.ViewHolder implements View.OnClickListener{

        RecyclerView recyclerView;

        public RecMakalaHolder(@NonNull View itemView) {
            super(itemView);

            recyclerView = itemView.findViewById(R.id.recyclerView);

            itemView.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            if (MyRecMultiAdapter.mClickListener != null) mClickListener.onItemClick(v, getAdapterPosition(), MyRecMultiAdapter.getList());
        }
    }

    public class NormMakalaHolder extends RecyclerView.ViewHolder implements View.OnClickListener{

        TextView t_category, t_title, t_view;
        ImageView i_image;

        public NormMakalaHolder(@NonNull View itemView) {
            super(itemView);

            t_category = itemView.findViewById(R.id.t_category);
            t_title = itemView.findViewById(R.id.t_title);
            i_image = itemView.findViewById(R.id.i_image);
            t_view = itemView.findViewById(R.id.t_view);

            itemView.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            if (MyRecMultiAdapter.mClickListener != null) mClickListener.onItemClick(v, getAdapterPosition(), MyRecMultiAdapter.getList());
        }
    }

    // parent activity will implement this method to respond to click events
    public interface ItemClickListener {
        void onItemClick(View view, int position, ArrayList<MakalaModel> list);
    }

    // allows clicks events to be caught
    public void setClickListenerSub(ItemClickListener itemClickListener) {
        this.mClickListener = itemClickListener;
    }

}

package com.fabrika.gunes;
导入android.content.Context;
导入android.content.Intent;
导入android.content.SharedReferences;
导入android.graphics.Typeface;
导入android.preference.PreferenceManager;
导入android.text.Spannable;
导入android.text.SpannableString;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ImageView;
导入android.widget.TextView;
导入android.widget.Toast;
导入androidx.annotation.NonNull;
导入androidx.core.content.res.ResourcesCompat;
导入androidx.recyclerview.widget.LinearLayoutManager;
导入androidx.recyclerview.widget.LinearSnapHelper;
导入androidx.recyclerview.widget.recyclerview;
导入com.bumptech.glide.glide;
导入java.net.MalformedURLException;
导入java.net.URL;
导入java.util.ArrayList;
公共类MyRecMultiAdapter扩展了RecyclerView。适配器实现MySubMultiRecListAdapter.ItemClickListenerSub{
私人语境;
公共静态数组列表;
静态项ClickListener McClickListener;
共享参考偏好;
字符串isWifiEnabled=“0”,isOnlyWifi=“0”;
公共MyRecMultiAdapter(上下文,ArrayList列表){
this.context=上下文;
this.list=列表;
preferences=PreferenceManager.GetDefaultSharedReferences(上下文);
isWifiEnabled=preferences.getString(“wifi_已启用”,“0”);
isOnlyWifi=preferences.getString(“仅wifi_”、“0”);
}
@非空
@凌驾
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
如果(viewType==0){
View View=LayoutInflater.from(parent.getContext()).flate(R.layout.item\u list\u makala\u vertical,parent,false);
NormMakalaHolder POSTHORDER=新NormMakalaHolder(视图);
归国邮递员;
}
else if(viewType==1){
View-View=LayoutInflater.from(parent.getContext()).flate(R.layout.makala_rec_row,parent,false);
RecMakalaHolder authorHolder=新的RecMakalaHolder(视图);
返回作者持有者;
}
返回null;
}
公共静态ArrayList getList(){
退货清单;
}
@凌驾
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder,int位置){
如果(getItemViewType(位置)==0){
MakalaModel postModel=list.get(位置);
NormMakalaHolder职位持有人=(NormMakalaHolder)持有人;
postHolder.t_category.setText(postModel.getArticle_author());
String firstWord=postModel.getArticle_title();
字符串secondWord=postModel.getArticle_body().子字符串(0150)+“…”;
postHolder.t_view.setText(“+postModel.getArticle_view_number());
//使用两个字符串创建一个新的Spanable
Spannable Spannable=新SpannableString(第一个字+“”+第二个字);
//将自定义字体设置为跨越可扩展对象的一部分
Typeface typeface1=ResourcesCompat.getFont(context,R.font.nunitosans\u extra\u bold);
Typeface-typeface2=ResourcesCompat.getFont(context,R.font.nunitosans\u light);
spannable.setSpan(新的自定义字体SPAN(“无衬线”,字体1),0,firstWord.length(),spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(新的自定义字体SPAN(“无衬线”,字体2),firstWord.length(),firstWord.length()+secondWord.length()+2,spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//使用spannable对象设置textView的文本
postHolder.t_title.setText(可扩展);
字符串url=list.get(position.getArticle_img_url();
如果(isOnlyWifi.equals(“1”)&isWifiEnabled.equals(“0”)){
url=“”;
}
试一试{
滑翔
.与(上下文)
.load(新URL(URL))
.centerCrop()
.占位符(R.可绘制的迷你地图)
.into(postHolder.i_图像);
}捕获(格式错误){
e、 printStackTrace();
}
}
否则{
ArrayList listMakala=list.get(position.getListMakalaModel();
MySubMultiRecListAdapter=新的MySubMultiRecListAdapter(上下文,listMakala);
RecyclerView.LayoutManager LayoutManager=新的LinearLayoutManager(上下文,LinearLayoutManager.HORIZONTAL,false);
((RecMakalaHolder)holder).recyclerView.setAdapter(适配器);
((RecMakalaHolder)holder.recyclerView.setLayoutManager(layoutManager);
//LinearSnapHelper LinearSnapHelper=新的SnapHelperOneByOne();
//linearSnapHelper.attachToRecyclerView(((RecmakalHolder)holder.recyclerView);
adapter.setClickListenerSub(此选项);
}
}
@凌驾
public int getItemCount(){
返回list.size();
}
@凌驾
public int getItemViewType(int位置){
return list.get(position.getViewType();
}
@凌驾
public void onItemClick(视图、整型位置、ArrayList列表){
意向意向=新意向(上下文,ActivityMakala.class);
intent.putExtra(“id”,list.get(position.getMakala_id());
意向。额外(“类型”、“条款”);
intent.putExtra(“category”,list.get(position.getArticle_category());
意向。额外(“日期”,l)
package com.fabrika.gunes;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.IntentCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.preference.PreferenceManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.QuerySnapshot;
import com.google.firebase.storage.FirebaseStorage;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FragmentMakala extends Fragment implements MyRecMultiAdapter.ItemClickListener{

    View view;
    Toolbar toolbar;
    public static ArrayList<MakalaModel> makalaObjects;
    RecyclerView recyclerView;
    RecyclerView.LayoutManager layoutManager;
    MainActivity activity;
    MyRecMultiAdapter adapter;
    FloatingActionButton buttonInsertArticle;
    HashMap<String, Boolean> likedArticles;
    FirebaseFirestore db;
    FirebaseStorage storage = FirebaseStorage.getInstance();
    SharedPreferences preferences;
    String[] likedArray;

    long article_number = 0;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        view = inflater.inflate(R.layout.fragment_makala, container, false);

        prepareMe();

        getMakala();

        buttonInsertArticle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // for admin
//                insertEmptyArticle();
            }
        });



        return view;
    }

    private void insertEmptyArticle() {

        // Create a new user with a first and last name
        Map<String, Object> article = new HashMap<>();
        article.put("article_author", "Serdaryň pikirleri");
        article.put("article_body", "");
        article.put("article_category", "durmuş");
        article.put("article_date", "01.05.2021");
        article.put("article_dislike_number", 0);
        article.put("article_img_url", "");
        article.put("article_like_number", 0);
        article.put("article_title", "");
        article.put("article_valid", true);
        article.put("article_view_number", 0);

// Add a new document with a generated ID
        db.collection("Articles")
                .document(""+article_number)
                .set(article);

        article_number++;

        Map<String, Object> article_num = new HashMap<>();
        article_num.put("article_number", article_number);


        db.collection("Articles")
                .document("0")
                .set(article_num);
    }

    private void prepareMe() {



//        ((MainActivity)getActivity()).updateStatusBarColor("#ffffff");

        setHasOptionsMenu(true);//Add this sentence to the menu
        toolbar = view.findViewById(R.id.toolbar);
        ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
        ((AppCompatActivity) getActivity()).getSupportActionBar().setElevation(0);
        toolbar.setTitle("Iň täze makalalar");
        toolbar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(activity, "refresh", Toast.LENGTH_SHORT).show();
                getMakala();
            }
        });
        buttonInsertArticle = view.findViewById(R.id.buttonInsertNewArticle);
        preferences = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext());

        activity = (MainActivity) getActivity();
        recyclerView = view.findViewById(R.id.recyclerView);
        makalaObjects = new ArrayList<>();
        isWifiEnabled();

        db = FirebaseFirestore.getInstance();

        layoutManager = new LinearLayoutManager(view.getContext(), LinearLayoutManager.VERTICAL, false);
        adapter = new MyRecMultiAdapter(view.getContext(), makalaObjects);
        recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(layoutManager);
        adapter.setClickListenerSub(this);

        likedArticles = new HashMap<>();
        String ids = preferences.getString("liked_articles","");
        likedArray = ids.split(" ");

        recyclerView.setHasFixedSize(true);
        recyclerView.setItemViewCacheSize(2);
        recyclerView.setDrawingCacheEnabled(true);
        recyclerView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
//        adapter.setHasStableIds(true);

    }

    public void initScrollView(){
        if(makalaObjects.size()>3){

            ArrayList<MakalaModel> scrollList = new ArrayList<>();

            String ids = preferences.getString("liked_articles","");
            likedArray = ids.split(" ");
            for(int i=likedArray.length-1;i>=0;i--){
                for(int j=makalaObjects.size()-1;j>=0;j--){
                    if(likedArray[i].equals(makalaObjects.get(j).getMakala_id())){
                        scrollList.add(makalaObjects.get(j));
                    }
                }
            }
            MakalaModel m = new MakalaModel();
            m.setListMakalaModel(scrollList);
            m.setViewType(1);
            makalaObjects.set(3,m);
        }
    }

    @Override
    public void onItemClick(View view, int position, ArrayList<MakalaModel> list) {

        Intent intent = new Intent(activity.getApplicationContext(), ActivityMakala.class);
        intent.putExtra("type", "Articles");
        intent.putExtra("position", position);
        intent.putExtra("id", makalaObjects.get(position).getMakala_id());
        intent.putExtra("category", makalaObjects.get(position).getArticle_category());
        intent.putExtra("date", makalaObjects.get(position).getArticle_date());
        intent.putExtra("title", makalaObjects.get(position).getArticle_title());
        intent.putExtra("author", makalaObjects.get(position).getArticle_author());
        intent.putExtra("body", makalaObjects.get(position).getArticle_body());
        intent.putExtra("img_url", makalaObjects.get(position).getArticle_img_url());
//        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        intent.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        startActivity(intent);
    }

    private void getMakala() {

        makalaObjects.clear();
//        adapter = null;
//        activity.llprogress.setVisibility(View.VISIBLE);

        db.collection("Articles").get()
                .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                    @RequiresApi(api = Build.VERSION_CODES.N)
                    @Override
                    public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
                        if(!queryDocumentSnapshots.isEmpty()){

                            List<DocumentSnapshot> list = queryDocumentSnapshots.getDocuments();

                            for(DocumentSnapshot d : list){
                                MakalaModel makalaModel = d.toObject(MakalaModel.class);
                                makalaModel.setMakala_id(d.getId());
                                makalaModel.setViewType(0);

                                if(!makalaModel.getMakala_id().equals("0"))
                                    makalaObjects.add(makalaModel);
                                else{
                                    article_number = makalaModel.getArticle_number();
                                }
                            }

//                            Collections.reverse(makalaObjects);

                            makalaObjects.sort((schedule1, schedule2)->{
                                int returnValue = 0;
                                if(Integer.parseInt(schedule1.getMakala_id()) > Integer.parseInt(schedule2.getMakala_id())) return -1;
                                else if(Integer.parseInt(schedule1.getMakala_id()) < Integer.parseInt(schedule2.getMakala_id()))    return 1;
                                return returnValue;
                            });

                            ArrayList<MakalaModel> scrollList = new ArrayList<>();

                            for(int i=likedArray.length-1;i>=0;i--){
                                for(int j=makalaObjects.size()-1;j>=0;j--){
                                    if(likedArray[i].equals(makalaObjects.get(j).getMakala_id())){
                                        scrollList.add(makalaObjects.get(j));
                                    }
                                }
                            }

                            MakalaModel m = new MakalaModel();
                            m.setListMakalaModel(scrollList);
                            m.setViewType(1);
                            makalaObjects.add(3,m);

                            adapter.notifyDataSetChanged();
//                            adapter = new MyRecMultiAdapter(activity.getApplicationContext(), makalaObjects);
//                            recyclerView.setAdapter(adapter);

                            activity.llprogress.setVisibility(View.GONE);
                        }
                    }
                }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Toast.makeText(activity, "error", Toast.LENGTH_SHORT).show();
                activity.llprogress.setVisibility(View.GONE);
            }});
    }

    @Override
    public void onResume() {
        super.onResume();

        isWifiEnabled();
        initScrollView();
        adapter.notifyDataSetChanged();
    }

    public boolean isWifiEnabled(){
        ConnectivityManager cm = (ConnectivityManager) activity.getApplicationContext().getSystemService(
                Context.CONNECTIVITY_SERVICE);
        NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        if (wifiNetwork != null && wifiNetwork.isConnected()) {
            SharedPreferences.Editor editor = preferences.edit();
            editor.putString("wifi_enabled", "1");
            editor.commit();
            return true;
        }
        SharedPreferences.Editor editor = preferences.edit();
        editor.putString("wifi_enabled", "0");
        editor.commit();
        return false;
    }
}
<?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="400dp"
    android:paddingVertical="5dp"
    android:paddingHorizontal="15dp">


    <TextView
        android:id="@+id/t_category"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="WHAT TO COOK"
        android:textSize="14sp"
        android:fontFamily="@font/nunitosans_black"
        android:textStyle="bold"
        android:textColor="@color/colorBlack"/>


    <TextView
        android:id="@+id/t_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/colorBlack"
        android:fontFamily="@font/verdana"
        android:textSize="18sp"
        android:layout_marginTop="5dp"
        android:layout_below="@+id/t_category"
        android:text="New Recipes for Your Rotation Add vegan tantanment and roasted rhubarb cobbler to your weekend cooking plans."/>

    <ImageView
        android:id="@+id/i_image"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:src="@drawable/mini_map"
        android:scaleType="centerCrop"
        android:layout_marginTop="7dp"
        android:layout_below="@+id/t_title"/>

    <RelativeLayout
        android:id="@+id/r_bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/i_image">

        <TextView
            android:id="@+id/t_date"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="27.04.2021"
            android:textSize="12sp"
            android:fontFamily="@font/nunitosans_light"
            android:textStyle="bold"
            android:alpha="0.6"
            android:layout_marginTop="5dp"
            android:textColor="@color/colorBlack"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/t_view"
            android:layout_centerVertical="true"
            android:layout_marginRight="5dp"
            android:src="@drawable/ic_view"/>

        <TextView
            android:id="@+id/t_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="24"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:textSize="12sp"
            android:fontFamily="@font/nunitosans_bold"
            android:textStyle="bold"
            android:layout_marginTop="5dp"
            android:textColor="@color/colorBlack"/>

    </RelativeLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@color/colorBlack"
        android:layout_below="@+id/r_bottom"
        android:layout_marginTop="15dp"/>

</RelativeLayout>
            Glide.with(context).load(new URL(url))
                    .thumbnail(0.5f)
                    .centerCrop()
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .into(postHolder.i_image);