我正在尝试自动刷新列表。我需要一个意图吗?或者还有其他方法吗?
Details.java
ImageButton deleteButton = (ImageButton) findViewById(R.id.delete_clothes);
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (handler.deleteCloth(String.valueOf(extras.getInt("id")))) {
Toast.makeText(getApplicationContext(), "Cloth has been deleted.", Toast.LENGTH_SHORT).show();
}
}
});
Dresses.java
private void loadClothesData() {
clothes = handler.readAllDresses();
CustomAdapter adapter = new CustomAdapter(this, clothes);
lv.setAdapter(adapter);
lv.invalidateViews();
adapter.notifyDataSetChanged();
for (Clothes c : clothes) {
String record = "ID=" + c.getID() + " | Category=" + c.getCategory() + " | " + c.getSize();
Log.d("Record", record);
}
}
Can anyone help?
答案 0 :(得分:0)
在自定义适配器调用this.notifyDataSetChanged();
中执行删除功能并从arrayList中删除该元素,该元素设置为该适配器。
我的意思是从您传递给Adapter的数组列表中删除已删除的值,然后调用notifyDatasetChanged()。
希望这会有所帮助。
答案 1 :(得分:0)
您正在删除项目单击侦听器中的对象。 那就是那个。
adapter.refreshlist(array after removing);
adapter.notifyDataSetChanged();
现在在Adapter类中。
Public void refreshlist(Arraylist array){
this.oldarray=array;
}
这样做会有效。