Android-getView中自定义listview中的常规重复问题

Android-getView中自定义listview中的常规重复问题,android,android-studio,Android,Android Studio,我将数据从mysql数据库拉入自定义Listview,但如下所示,我有一个自定义按钮。根据数据库中的记录,按钮为黑色或红色。例如,我的数据库中有30个收益率,我只使用2个红色和28个黑色来提取数据。假设红色的数据是我的数据编号3和数据编号5。当我开始向下滚动时;我的数据编号3和5变为红色,然后8数据,然后产量编号13和15,23和25变为红色。。所以有一个重复。。我无法阻止它。。有解决办法吗?您能用示例代码提供支持吗?我的自定义适配器代码如下所示: public class CostumAdap

我将数据从mysql数据库拉入自定义Listview,但如下所示,我有一个自定义按钮。根据数据库中的记录,按钮为黑色或红色。例如,我的数据库中有30个收益率,我只使用2个红色和28个黑色来提取数据。假设红色的数据是我的数据编号3和数据编号5。当我开始向下滚动时;我的数据编号3和5变为红色,然后8数据,然后产量编号13和15,23和25变为红色。。所以有一个重复。。我无法阻止它。。有解决办法吗?您能用示例代码提供支持吗?我的自定义适配器代码如下所示:

public class CostumAdaptor extends ArrayAdapter<Ses> {
        private ArrayList<Ses> list;
        private ViewHolderr vHolder;
        boolean flag = false;

        public CostumAdaptor(Context context, int resource, ArrayList<Ses> list) {
            super(context, resource, list);
            list = new ArrayList<Ses>();
            list.addAll(list);
        }

        public int getCount() {
            return list.size();
        }

        public Ses getItem(int position) {
            return list.get(position);
        }

        public long getItemId(int position) {
            return list.get(position).hashCode();
        }

        public View getView(int position, View conView, ViewGroup parent) {

            View vi = conView;

            if (vi == null) {

                vHolder = new ViewHolderr();
                vi = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.tiyatro_item, null);

                vHolder.tiyatro_adi = vi.findViewById(R.id.tiyatro_adi);
                vHolder.begeni_sayisi2 = (TextView) vi.findViewById(R.id.begeni_sayisi2);
                vHolder.daha_sonra_dinleyecegim_2 = (TextView) vi.findViewById(R.id.daha_sonra_dinleyecegim_2);
                vHolder.begenmedim_2 = (TextView) vi.findViewById(R.id.begenmedim_2);
                vHolder.tiyatro = vi.findViewById(R.id.tiyatro);
                vHolder.tur = vi.findViewById(R.id.tur);
                vHolder.mensei = vi.findViewById(R.id.mensei);
                vHolder.yapimci = vi.findViewById(R.id.yapimci);
                vHolder.songCoverImage = vi.findViewById(R.id.coverImage);
                vHolder.begendim = vi.findViewById(R.id.begendim);
                vHolder.begenmedim = vi.findViewById(R.id.begenmedim);
                vHolder.daha_sonra_dinleyecegim = vi.findViewById(R.id.daha_sonra_dinleyecegim);
                vi.setTag(vHolder);
            }
            else {
                vHolder = (ViewHolderr) vi.getTag();
            }

            Ses dmodel = (Ses) list.get(position);

            String t_tiyatro_adi = dmodel.getTiyatro_adi();
        
            vHolder.tiyatro_adi.setTag(dmodel);
            vHolder.tiyatro.setTag(dmodel);
            vHolder.tur.setTag(dmodel);
            vHolder.mensei.setTag(dmodel);
            vHolder.yapimci.setTag(dmodel);
            vHolder.begendim.setTag(dmodel);
            vHolder.tiyatro_adi.setText(dmodel.getTiyatro_adi());
            vHolder.tiyatro.setText(dmodel.getTiyatro());
            vHolder.tur.setText(dmodel.getTur());
            vHolder.mensei.setText(dmodel.getMensei());
            vHolder.yapimci.setText(dmodel.getYapimci());

            String CACHE = t_tiyatro_adi;
        
            new Handler().postDelayed(new Runnable() {
                public void run() {

                   for (int i = 0; i < List1.size(); i++) {

                        for (int ii = 0; ii < List2.size(); ii++) {

                            if (List1.get(i).equals(List2.get(ii))) {

                                if (List1.get(i).equals(CACHE)) {
                                    flag = true;
                                    vHolder.begendim.setImageResource(R.drawable.begendim_dolu);
                                    
                                }

                            }

                        }

                    }

                    if (!flag) {
                        vHolder.begendim.setImageResource(R.drawable.begendim_bos);
                    }
                    
                }

            }, 250);

            return vi;
        }

        private class ViewHolderr {
            TextView tiyatro_adi, tiyatro, tur, mensei, yapimci, begeni_sayisi2, daha_sonra_dinleyecegim_2, begenmedim_2;
            ImageView songCoverImage;
            ImageView begendim;
        }

    }
公共类CostumAdapter扩展了ArrayAdapter{
私有数组列表;
私人视窗持有者;
布尔标志=假;
公共CostumAdaptor(上下文、int资源、ArrayList列表){
超级(上下文、资源、列表);
列表=新的ArrayList();
list.addAll(list);
}
public int getCount(){
返回list.size();
}
公共项目(内部位置){
返回列表。获取(位置);
}
公共长getItemId(int位置){
return list.get(position.hashCode();
}
公共视图getView(内部位置、视图视图视图、视图组父视图){
视图vi=conView;
如果(vi==null){
vHolder=新的ViewHolderr();
vi=((LayoutInflater)getSystemService(Context.LAYOUT\u INFLATER\u SERVICE)).inflate(R.LAYOUT.tiyatro\u项,空);
vHolder.tiyatro_adi=vi.findViewById(R.id.tiyatro_adi);
vHolder.begeni_sayis2=(TextView)vi.findViewById(R.id.begeni_sayis2);
vHolder.daha_sonra_dinleyecegim_2=(文本视图)vi.findViewById(R.id.daha_sonra_dinleyecegim_2);
vHolder.begenmedim_2=(TextView)vi.findViewById(R.id.begenmedim_2);
vHolder.tiyatro=vi.findViewById(R.id.tiyatro);
vHolder.tur=vi.findViewById(R.id.tur);
vHolder.mensei=vi.findViewById(R.id.mensei);
vHolder.yapimci=vi.findViewById(R.id.yapimci);
vHolder.songCoverImage=vi.findViewById(R.id.coverImage);
vHolder.begendim=vi.findviewbyd(R.id.begendim);
vHolder.begenmedim=vi.findviewbyd(R.id.begenmedim);
vHolder.daha_sonra_dinleyecegim=vi.findViewById(R.id.daha_sonra_dinleyecegim);
vi.setTag(vHolder);
}
否则{
vHolder=(ViewHolderr)vi.getTag();
}
sesdmodel=(Ses)list.get(position);
字符串t_tiyatro_adi=dmodel.getTiyatro_adi();
vHolder.tiyatro_adi.setTag(dmodel);
vHolder.tiyatro.setTag(dmodel);
vHolder.tur.setTag(dmodel);
vHolder.mensei.setTag(dmodel);
vHolder.yapimci.setTag(dmodel);
vHolder.begendim.setTag(dmodel);
vHolder.tiyatro_adi.setText(dmodel.getTiyatro_adi());
vHolder.tiyatro.setText(dmodel.getTiyatro());
vHolder.tur.setText(dmodel.getur());
vHolder.mensei.setText(dmodel.getMensei());
vHolder.yapimci.setText(dmodel.getYapimci());
字符串缓存=t_tiyatro_adi;
new Handler().postDelayed(new Runnable()){
公开募捐{
对于(int i=0;i

注意:List1和List2是从mysql数据库中提取的ArrayList,与for循环进行比较。通过比较,按钮的颜色为红色或黑色。

有人可以帮助我吗?我用RecyclerView解决了我的问题。