我在适配器类中有一个自定义列表视图适配器和一个图像按钮。当我单击图像按钮时,监听器应重新加载列表视图。我需要在适配器类的getview()中重新加载列表视图。所以除了在listActivity类中使用notifyDataSetChanged()之外,我还需要了解其他选项。
由于
答案 0 :(得分:1)
如果在getView()中加载了一行,你想要刷新列表视图中的单元格,还是要刷新整个列表视图?
答案 1 :(得分:0)
在activity中创建一个静态处理程序,它调用一个方法来重新加载listview,并在需要时从适配器向此处理程序发送消息。
handler = new Handler() {
public void handleMessage(Message paramAnonymousMessage) {
switch (paramAnonymousMessage.what) {
case 1:
populateList();
break;
}
}
};
public void populateBill() {
MyBasketAdapter adapter = new MyBasketAdapter(this, basketList);
listView = (ListView) findViewById(android.R.id.list);
listView.setAdapter(adapter);
}
适配器类内部。例如,
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Message msg = Message.obtain();
msg.what = 1;
MyActivity.handler.sendMessage(msg);
}
});
答案 2 :(得分:0)
这很简单,只需在适配器类中编写一个方法,并在删除或添加列表中绑定到适配器的任何内容时调用它获取视图。并在列表中更改后使用notifyDataSetChanged
public void updateResults(ArrayList<CustomList> results) {
// assign the new result list to your existing list it will work
notifyDataSetChanged();
}