2011-12-17 23 views
0

我一直在做一個任務管理器,我可以在textview中顯示進程的名稱,pid等。這可以在這裏看到:http://i.imgur.com/1zpXg.jpg如何在ListView中輸入動態數據(processName和pid)?

我想將所有這些轉換爲列表視圖,這樣就不需要輸入pid然後按下kill按鈕。

public void showProcess(){//display process currently running processes 
    Context context = getApplicationContext(); 

    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 
    PackageManager pm = this.getPackageManager(); 

    List<ActivityManager.RunningAppProcessInfo> list = activityManager.getRunningAppProcesses(); 
    try{ 
     if(list != null){ 
      for(int i=0;i<list.size();++i){ 

       //lists the application name, process name and corresponding PIDs in TEXTVIEW 
       CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(list.get(i).processName, PackageManager.GET_META_DATA)); 
       dispProcesses.append(c.toString()+"\n"+list.get(i).processName + "\t" + list.get(i).pid+ "\n\n"); 

      } 
     } 
    } 
    catch(Exception e){ 

    } 
} 

正如可以從上面的代碼看到的,有可能被檢索並容易地將數據中的TextView追加。但是,ListView並非如此。其中那種數據應該存儲在某個數組中以便能夠顯示所有這些數據。

我的問題:如何將這種動態數據(processName,PID,appName)存儲到ListView中?

我已經非常熟悉ListView的靜態數據版本。然而,我的任務管理器產生動態數據,我沒有絲毫的想法如何在ListView中輸入。

回答

1

您可以將每個進程(String,id等)添加到對象中,然後將其添加到ArrayList<YourObject>。然後建立一個custome適配器(即自定義BaseAdapter)並將其設置爲ListView

每次創建新進程時,將其添加到您的ArrayList中,然後致電notifyDataSetChanged更新您的ListView

希望這會有所幫助!

+0

它對你有幫助嗎? – 2011-12-18 13:11:29

+0

是的,它確實。謝謝。雖然我仍然需要進一步瞭解Listview。 – Loren 2011-12-18 17:12:41

相關問題