Android ListView ArrayAdapter notifyDataSetChanged()并不总是有效

时间:2012-10-28 22:36:07

标签: java android listadapter

我有一个应用程序连接到远程服务器并从中获取数据。

根据这些数据,我在ListView连接对象中做了一些更改,我使用notifyDataSetChanged()方法刷新ListView并反映我的更改。

不幸的是,该方法并不总是刷新列表。

onUpdate()应该刷新列表。

@Override
public void onUpdate() {
    runOnUiThread(updateClientsInRangeRunnable());  
}

private Runnable updateClientsInRangeRunnable()
{
    Runnable run = new Runnable() {

        @Override
        public void run() {
            updateClientsInRangeList(); 
        }
    };
    return run;
}

public void updateClientsInRangeList()
{
    setClientsInRangeList();
    listArrayAdapter.notifyDataSetChanged();
}

每当我想要刷新列表时都会调用onUpdate()方法,但并不总是这样做... 所做的更改是ListView代表的对象内的属性更改,但只有在我重新加载ListView时才会刷新更改

有没有理由?

1 个答案:

答案 0 :(得分:0)

很难从您显示的代码中看出来,但是setClientsInRangeList()实际上是否有可能无法显示任何新数据?