2015-07-13 52 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)