0

我开发了一个应用程序来安装所有第三方应用程序并将它们显示在列表视图中!这是由扩展的 baseAdapter 完成的。在此列表中,我使用以下代码卸载选定的应用程序:

 Intent intent = new Intent(Intent.ACTION_DELETE);
    intent.setData(Uri.parse("package:" + Packname));
    startActivity(intent);

现在我想要的是使用更改的数据更新列表视图,以便用户可以获得更新的应用程序列表。我怎样才能做到这一点。我发现 notifyDatasetchanged 方法但它只能用于简单的列表视图!我有哪些选择,请让我知道任何教程以实现我的结果!

谢谢你。

4

2 回答 2

0

您将有一个适配器(BaseAdapter可能扩展的东西),您将其设置到ListViewusing 中setAdapter(...)。向您的适配器实现类添加一个方法,该方法设置支持列表的基础对象。确保notifyDataSetChanged()最后打电话。就像是,

public class MyAdapter extends BaseAdapter<String> {
  private List<String> strings;

  ...
  void setModel(List<String> strings) {
    this.strings = strings;
    this.notifyDataSetChanged();
  }
}

只需调用您的适配器setModel(...)将导致ListView更新。

于 2012-07-11T17:21:01.000 回答
0

你只对简单的列表视图意味着什么?你的有什么不同?删除其中一项后,您应该能够在自定义适配器类上调用 notifyDataSetChanged。您可以创建一个函数来执行此操作...

private ArrayList<Object> list;

public void deleteItem(int index){
        list.remove(index);
        notifyDataSetChanged();
}
于 2012-07-11T17:21:16.583 回答