2012-07-11 82 views
0

我開發了一個應用程序,用於安裝所有第三方應用程序並將它們顯示在列表視圖中!這是通過擴展的baseAdapter完成的。在這個名單我使用此代碼選定的應用程序的卸載:如何在android中更新自定義列表視圖

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

現在,我想要的是更新與改變的數據,使用戶可以得到更新的應用程序列表中的列表視圖。我怎麼能做到這一點。我發現notifyDatasetchanged方法,但它只能用於簡單的列表視圖!我有什麼選擇,請讓我知道任何教程,以實現我的結果!

謝謝。

+0

你能爲我們提供一些代碼嗎? – AMerle 2012-07-11 17:17:13

回答

0

你是什麼意思只爲簡單的listviews?你有什麼不同?刪除其中一個項目後,您應該可以在自定義適配器類上調用notifyDataSetChanged。你可以創建一個功能來做到這一點...

private ArrayList<Object> list; 

public void deleteItem(int index){ 
     list.remove(index); 
     notifyDataSetChanged(); 
} 
0

您將擁有一個適配器(可能延伸爲BaseAdapter),您可以使用setAdapter(...)設置爲ListView。向您的適配器實現類中添加一個方法,用於設置支持列表的基礎對象。請務必在末尾致電notifyDataSetChanged()。像,

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

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

簡單地調用你的適配器的setModel(...)將導致ListView更新。