【问题标题】:Can an individual item in the list of data in an ArrayAdapter request for refresh?ArrayAdapter 中数据列表中的单个项目是否可以请求刷新?
【发布时间】:2015-01-01 05:36:04
【问题描述】:

我有一个绑定到ArrayList<MyClass>ArrayAdapter

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

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

【问题讨论】:

  • MyClass 对象在什么情况下会改变...表示当数据库更新时或在任何其他情况下...

标签: android android-listview arraylist android-arrayadapter baseadapter


【解决方案1】:

您不能重新加载单行,而是可以通过调用yourListView.getChildAt(int VisiblePosition); 直接获取请求的视图并对其进行更改,其中visiblePostionListView 减去yourListView.getFirstVisiblePosition() 中的位置。

像这样:

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

Driss Bounouar回答

【讨论】:

    【解决方案2】:

    请创建一个数组适配器并将您的更改应用到单个项目中

    【讨论】:

      猜你喜欢
      • 2016-04-17
      • 2011-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 2012-02-22
      相关资源
      最近更新 更多