Android ArrayAdapter中数据列表中的单个项是否可以请求刷新?

Android ArrayAdapter中数据列表中的单个项是否可以请求刷新?,android,android-listview,arraylist,android-arrayadapter,baseadapter,Android,Android Listview,Arraylist,Android Arrayadapter,Baseadapter,我有一个绑定到ArrayList的ArrayAdapter MyClass中有很多逻辑,包括更改需要刷新视图的MyClass对象的某些属性。一旦在MyClass对象中检测到这样的更改,我想调用关联的ArrayAdapter.notifyDataSetChanged 但是,MyClass的项不会自动存储对适配器的引用,而适配器会存储对ArrayList的引用。有没有一种简单的方法可以解决这个问题?您不能重新加载一行,但是您可以通过调用您的ListView.GetChildStatint Visib

我有一个绑定到ArrayList的ArrayAdapter

MyClass中有很多逻辑,包括更改需要刷新视图的MyClass对象的某些属性。一旦在MyClass对象中检测到这样的更改,我想调用关联的ArrayAdapter.notifyDataSetChanged


但是,MyClass的项不会自动存储对适配器的引用,而适配器会存储对ArrayList的引用。有没有一种简单的方法可以解决这个问题?

您不能重新加载一行,但是您可以通过调用您的ListView.GetChildStatint VisiblePosition直接获取请求的视图并对其进行更改;其中VisiblePosition是ListView中的位置减去ListView.getFirstVisiblePosition

像这样:

View v = listViewItems.getChildAt(position - 
        listViewItems.getFirstVisiblePosition());
v.setBackgroundColor(Color.GREEN);

回答方式

请创建一个arrayadapter,并在单个项目中应用您的更改

在这种情况下MyClass对象将发生更改…意味着在数据库更新或任何其他情况下。。。