我正在使用ListView
,并且我在onItemLongClickListener
内使用了setBackgroundColor
。我的问题是,当我这样做和滚动时,它也设置ListView
的一些看不见的孩子的颜色。它如何解决。ListView onItemLongClickListener无法正常工作
2
A
回答
1
这是由于listview使用旧视图以避免滚动时重新创建视图而引起的。
实际上,这是所有adapterView类共有的。
为了处理这个问题,存储视图位置的状态(使用arrayList或你希望的任何集合)和getView上,如果在列表中设置位置为这个背景,使用这个背景,否则使用默认背景。
欲了解更多关于listview的信息,请阅读API或(并且我极力推荐它)观看视频“the world of listView”。
0
在您的适配器类:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = inflater.inflate(...);
}
convertView.setBackgroundColor(defaultcolor);
...
}
然而,这将覆盖在onlongclicklistener设置时的看法是重绘背景。因此,您可能希望保留点击项目位置的列表,以便您可以在getView方法中设置它们。
2
尝试把下面的属性在你的XML:
`
<ListView
android:dividerHeight="1dp"
android:scrollingCache="false" >
`
相关问题
- 1. ListView无法正常工作?
- 2. Android Listview OnClickListener无法正常工作
- 3. Android SimpleCursorAdapter + ListView无法正常工作
- 4. ListView与DataPager无法正常工作
- 5. jQuery Mobile .listview('refresh')无法正常工作
- 6. Xamarin.Forms ListView ItemCapped Corcav.Behaviors无法正常工作?
- 7. Android ListView - onListItemClick无法正常工作
- 8. onItemLongClickListener工作怪异
- 9. ViewHolder无法正常工作
- 10. listViewItem.BackColor无法正常工作
- 11. OnListItemClick无法正常工作
- 12. notifydatasetchanged()无法正常工作
- 13. solo.clickOnButton()无法正常工作
- 14. SimpleCursorAdapter无法正常工作
- 15. setOnItemClickListener无法正常工作
- 16. OnReceive无法正常工作
- 17. setFastScrollEnabled无法正常工作
- 18. ArrayAdapter.setNotifyOnChange无法正常工作
- 19. Sklearn.mixture.dpgmm无法正常工作
- 20. NegaMax无法正常工作
- 21. Input.GetKeyDown无法正常工作
- 22. Bootstrap无法正常工作
- 23. TransactionTimeout无法正常工作
- 24. uibarbuttonitem无法正常工作
- 25. HighCharts无法正常工作
- 26. OnKeyListener无法正常工作
- 27. crontab无法正常工作
- 28. 无法正常工作
- 29. ActionBar无法正常工作
- 30. mcrypt_decrypt无法正常工作
里面你listadapter,你从标签让你convertview?它可能会保留你在那里设置的背景颜色? – ePeace
发布相关代码。在scroolling时间 – adneal
想要颜色隐形? –