why RecyclerView items duplicate

i have 5 tabs in my appe
in each tabs items are displayed.
but when i moved from tab to tab,or scrolling recycler view,
Doubling the number of items

Adapter class:

package com.narsis.countriesandcontinents.mainPage;

import android.content.Context;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Typeface;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.text.Layout;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.narsis.countriesandcontinents.Africa_Fragment;
import com.narsis.countriesandcontinents.Database;
import com.narsis.countriesandcontinents.R;
import com.narsis.countriesandcontinents.Structure;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.zip.Inflater;
import static android.support.v7.widget.RecyclerView.*;
import static java.security.AccessController.getContext;


public class AdapterCardView extends RecyclerView.Adapter<ViewHolder> {
    Context context;
    LayoutInflater inflater;

    List<Structure> items = Collections.emptyList();
   public int flagLoadItems=0;
    String pathfont="fonts/Mj_Text Bold.ttf";
    Typeface tf=Typeface.createFromAsset(MainActivity.context.getAssets(),pathfont);

    public AdapterCardView(Context context, List<Structure> items) {
        this.context=context;
        this.items = items;
        inflater=LayoutInflater.from(context);
        setHasStableIds(false);
    }
    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view=LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_cardview,parent,false);
        TextView textView= (TextView) view.findViewById(R.id.txt_title);

        ViewHolder viewHolder= new ViewHolder(view,textView);
        return viewHolder;
    }
    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        Database database=new Database(context);
         holder.txt_countryname.setText(items.get(position).getCountry_Name());
         holder.txt_countryname.setTypeface(tf);

        int resID = context.getResources().getIdentifier(items.get(position).getFlag(),"mipmap", context.getPackageName());
    
        if((items.get(position).getFlag()).equals("0"))
        {
            try {
                holder.img_flags.setImageBitmap(database.getBitmapFromAssets("iran.png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        else {
            holder.img_flags.setImageResource(resID);
        }
    }
    @Override
    public int getItemCount() {
        flagLoadItems=1;
       return items.size();
    }

    @Override
    public long getItemId(int position)
    {
        return super.getItemId(position);
    }

    public void filter(ArrayList<Structure> newarrayList){
        items= new ArrayList<>();
        items.addAll(newarrayList);
        notifyDataSetChanged();
    }
}

Fragment:

package com.narsis.countriesandcontinents;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.narsis.countriesandcontinents.mainPage.AdapterCardView;
import java.util.ArrayList;
/**
 * A simple {@link Fragment} subclass.
 */
public class Australia_Fragment extends Fragment {
    RecyclerView recyclerView;
    ArrayList<Structure>arrayList =new ArrayList<>();
   // int flag=0;
    AdapterCardView adapcard;
    
    
    public Australia_Fragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view= inflater.inflate(R.layout.fragment_asia_, container, false);
        recyclerView= (RecyclerView) view.findViewById(R.id.my_recyclerview);

            AdapterCardView adapterCardView = new AdapterCardView(getContext(), arrayList);
            recyclerView.setAdapter(adapterCardView);
            recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
            recyclerView.setHasFixedSize(true);
            loadDatabase();
            return view;

    }
    public void loadDatabase(){
        final Database database=new Database(getContext());
        database.CreateDatabase();
        database.openDatabase();
        Cursor cursor=database.QueryData("SELECT * FROM Country WHERE Ghareh='استرالیا'");
        if (cursor!=null && cursor.moveToFirst()){
                do
                {
                    Structure structure = new Structure();
                    structure.setCountry_Name(cursor.getString(1));
                    structure.setFlag(cursor.getString(4));
                    structure.setCapital(cursor.getString(2));
                    structure.setGhareh(cursor.getString(3));
                    structure.setMeanCountry(cursor.getString(5));
                    arrayList.add(structure);
                }

                while (cursor.moveToNext());

            recyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getContext(),recyclerView, new RecyclerItemClickListener.OnItemClickListener() {
                @Override
                public void onItemClick(View view, int position) {

                    Alert alert = new Alert(getActivity());
                    for (int i=0;i<=position;i++)
                    {
                        alert.country_data.setText(arrayList.get(position).getCountry_Name());
                        alert.capital_data.setText(arrayList.get(position).getCapital());
                        alert.ghareh_data.setText(arrayList.get(position).getGhareh());
                        alert.meancountrydata.setText(arrayList.get(position).getMeanCountry());
                        int id=getContext().getResources().getIdentifier(arrayList.get(position).getFlag(),"mipmap",getContext().getPackageName());
                        alert.imgDialog.setImageResource(id);

                        alert.show();

                    }
                    database.close();
                }

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

                }
            }));
        }
    }

}

Sorry. I don’t see anything related to Backendless in your code

but i Copied my code in tag <>
please guide me how i can set my code

my Adapter class:
package com.narsis.countriesandcontinents.mainPage;
import android.content.Context;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Typeface;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.text.Layout;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.narsis.countriesandcontinents.Africa_Fragment;
import com.narsis.countriesandcontinents.Database;
import com.narsis.countriesandcontinents.R;
import com.narsis.countriesandcontinents.Structure;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.zip.Inflater;
import static android.support.v7.widget.RecyclerView.*;
import static java.security.AccessController.getContext;

public class AdapterCardView extends RecyclerView.Adapter<ViewHolder> {
Context context;
LayoutInflater inflater;

List<Structure> items = Collections.emptyList();
public int flagLoadItems=0;
String pathfont=“fonts/Mj_Text Bold.ttf”;
Typeface tf=Typeface.createFromAsset(MainActivity.context.getAssets(),pathfont);

public AdapterCardView(Context context, List<Structure> items) {
this.context=context;
this.items = items;
inflater=LayoutInflater.from(context);
setHasStableIds(false);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_cardview,parent,false);
TextView textView= (TextView) view.findViewById(R.id.txt_title);

ViewHolder viewHolder= new ViewHolder(view,textView);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Database database=new Database(context);
holder.txt_countryname.setText(items.get(position).getCountry_Name());
holder.txt_countryname.setTypeface(tf);

int resID = context.getResources().getIdentifier(items.get(position).getFlag(),“mipmap”, context.getPackageName());

if((items.get(position).getFlag()).equals(“0”))
{
try {
holder.img_flags.setImageBitmap(database.getBitmapFromAssets(“iran.png”));
} catch (IOException e) {
e.printStackTrace();
}
}
else {
holder.img_flags.setImageResource(resID);
}
}
@Override
public int getItemCount() {
flagLoadItems=1;
return items.size();
}

@Override
public long getItemId(int position)
{
return super.getItemId(position);
}

public void filter(ArrayList<Structure> newarrayList){
items= new ArrayList<>();
items.addAll(newarrayList);
notifyDataSetChanged();
}
}


my Fragment:

package com.narsis.countriesandcontinents;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.narsis.countriesandcontinents.mainPage.AdapterCardView;
import java.util.ArrayList;
/**

  • A simple {@link Fragment} subclass.
    */
    public class Australia_Fragment extends Fragment {
    RecyclerView recyclerView;
    ArrayList<Structure>arrayList =new ArrayList<>();
    // int flag=0;
    AdapterCardView adapcard;

public Australia_Fragment() {
// Required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view= inflater.inflate(R.layout.fragment_asia_, container, false);
recyclerView= (RecyclerView) view.findViewById(R.id.my_recyclerview);

AdapterCardView adapterCardView = new AdapterCardView(getContext(), arrayList);
recyclerView.setAdapter(adapterCardView);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setHasFixedSize(true);
loadDatabase();
return view;

}
public void loadDatabase(){
final Database database=new Database(getContext());
database.CreateDatabase();
database.openDatabase();
Cursor cursor=database.QueryData(“SELECT * FROM Country WHERE Ghareh=‘استرالیا’”);
if (cursor!=null && cursor.moveToFirst()){
do
{
Structure structure = new Structure();
structure.setCountry_Name(cursor.getString(1));
structure.setFlag(cursor.getString(4));
structure.setCapital(cursor.getString(2));
structure.setGhareh(cursor.getString(3));
structure.setMeanCountry(cursor.getString(5));
arrayList.add(structure);
}

while (cursor.moveToNext());

recyclerView.addOnItemTouchListener(new
RecyclerItemClickListener(getContext(),recyclerView, new
RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {

Alert alert = new Alert(getActivity());
for (int i=0;i<=position;i++)
{
alert.country_data.setText(arrayList.get(position).getCountry_Name());
alert.capital_data.setText(arrayList.get(position).getCapital());
alert.ghareh_data.setText(arrayList.get(position).getGhareh());
alert.meancountrydata.setText(arrayList.get(position).getMeanCountry());
int id=getContext().getResources().getIdentifier(arrayList.get(position).getFlag(),“mipmap”,getContext().getPackageName());
alert.imgDialog.setImageResource(id);

alert.show();

}
database.close();
}

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

}
}));
}
}

}

Oooh… sorrrrrrrrry
I thought you could not see my code

Excuse me, what do you mean؟
(I’m a beginner in English)

I mean there are no Backendless classes usage in your code.