我只是用字符串数组填充ListView
,然后在按钮的onClickListener()
中,我想用新的String Array重新填充该列表视图。
我该怎么做?
答案 0 :(得分:2)
您应该使用ListActivity而不是ListView。见例子
//列出活动类
public class YourClass extends ListActivity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(saveInstanceState);
setContentView(R.layout.alertresult);
showInList();
}
public void showInList()
{
ArrayAdapter adapter=new yourAdapter();
setListAdapter(adapter);
}
}
// alertresult
的示例XML布局<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:fastScrollEnabled="true" >
</ListView>
</LinearLayout>
您只需将ListView ID更改为@android:id / list和setListAdapter
即可答案 1 :(得分:0)
您可以将新列表设置为列表视图(myListView
)并调用myListView.invalidateViews();
答案 2 :(得分:0)
我假设你正在使用带有ArrayAdapter的ListView,而ArrayAdapter构造函数需要一个数组或arraylist作为参数:
public void ArrayAdapter(Context context, int resId, Object[] array);
使用此构造函数创建ArrayAdapter,当您想要更改数据时,只需更改引用数组的值,并调用notifyDatasetChanged()方法。
答案 3 :(得分:0)
使用adapter.clear()
从适配器中删除数据,并将新数据填充到适配器并调用
adapter.notifyDataSetChanged()