Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了滚动时Android ListView背景设置背景?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ListView,它通过ArrayAdapter填充.在适配器中,我根据条件设置视图背景颜色.它可以工作,但滚动剩余的行时采用这种颜色.这是一些代码

class DateAdapter extends ArrayAdapter<DateVO> {
    private ArrayList<DateVO> items;
    public ViewGroup listViewItem;

    //constructor
    public DateAdapter(Context context,int textViewresourcEID,ArrayList<DateVO> items) {
        super(context,textViewresourcEID,items);
        this.items = items;
    }

    @Override
    public View getView(int position,View convertView,ViewGroup parent) {
        try {
            if (view == null) {
                LayoutInflater vi = (LayoutInflater)getContext().getSystemservice(Context.LAYOUT_INFLATER_serviCE);
                convertView = vi.inflate(R.layout.row,null);
            }

            final DateVO dateItem = items.get(position);

            if (dateItem != null) {

                //is this my issue here? does position change while scrolling?
                if(items.get(position).getField().equals("home")){
                    view.setBACkgroundresource(R.drawable.lisT_Bg_homE);
                }
                ...
            }

        }catch (Exception E) {
            Log.i(ArrayAdapter.class.toString(),e.getmessage());
        }

        return view;
    }
}

解决方法

这是ListView的认行为.可以通过将cachecolorHint设置为transparent来覆盖它.
只需添加,

android:cachecolorHint="#00000000"

在您的xml文件中.

有关详细信息,请阅读ListView Backgrounds文章.
这是一段摘录:

编辑:作为convertView传递的视图本质上是一个视图,它是列表视图的一部分,但不再可见(由于滚动).因此它实际上是您创建的视图,可能是您已设置自定义背景的视图.要解决此问题,请确保在不满足条件时重置背景.像这样的东西:

if(condition_satisfied) {
    //set custom BACkground for view
}
else {
    //set default BACkground for view
    convertView.setBACkgroundresource(android.R.drawable.list_SELEctor_BACkground);
}

基本上,如果您的条件不满意,您将不得不撤消满足条件时正在执行的任何自定义操作,因为您可能已收到旧的自定义视图作为convertView.那应该可以解决你的问题.

大佬总结

以上是大佬教程为你收集整理的滚动时Android ListView背景设置背景?全部内容,希望文章能够帮你解决滚动时Android ListView背景设置背景?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。