2015-07-13 95 views
-1

我需要在ListView中更改第一行。我用這樣的方式:如何在android中更新listView?

private void updateAdapter(int number) { 
    String value = Integer.toString(number); 
    list_.clear(); 
    list_.add(value); 
    adapter_.notifyDataSetChanged(); 
} 

但是,沒有任何人知道的另一種方式,像myAdapter.update(NEWVALUE)?我用簡單的適配器

private ArrayAdapter<String> adapter_; 

和ListView

<ListView 
    android:id="@+id/list_view" 
    android:paddingBottom="150dp" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 

回答

0

基本上,如果您添加或刪除數據源元素(我假設是list_這裏)你叫notifyDataSetChanged(),ListView控件將得到重新計算以指定的方式根據您的(更改)數據源

因此,直接更新適配器(使用建議的功能adapter.update())沒有任何意義。

如果您擔心性能(我認爲這是您在更改第一行時的動機),請查看Using an ArrayAdapter with ListView以查看ListView的工作方式。

0

使用SimpleAdapter類中的getItem (int position)獲取元素。不,您可以更改適配器內的對象。

變化值調用後...

listAdapter.notifyDataSetChanged(); 

...刷新UI。

請參閱文檔:SimpleAdapter - getItem(int pos)