0

すべてのサードパーティ製アプリケーションをインストールしてリスト ビューに表示するアプリケーションを開発しました。これは、拡張された baseAdapter によって行われています。このリストでは、次のコードを使用して、選択したアプリケーションのアンインストールを行います。

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

今私が欲しいのは、ユーザーが更新されたアプリケーションリストを取得できるように、変更されたデータでリストビューを更新することです。どうすればこれを達成できますか。notifyDatasetchanged メソッドを見つけましたが、単純なリストビューにしか使用できません! 私が持っているオプションは何ですか?私の結果を達成するためのチュートリアルを教えてください!

ありがとうございました。

4

2 に答える 2

0

usingBaseAdapterに設定したアダプター (おそらく拡張するもの) が用意されます。リストをバッキングしている基本オブジェクトを設定するアダプター実装クラスにメソッドを追加します。必ず最後に電話してください。何かのようなもの、ListViewsetAdapter(...)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

単純なリストビューの場合のみとはどういう意味ですか? あなたのものはどう違うのですか?アイテムの 1 つを削除した後、カスタム アダプター クラスで notifyDataSetChanged を呼び出すことができるはずです。それを行う関数を作成できます...

private ArrayList<Object> list;

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