[英]Android - How to get the processName or packageName by using PID?
[英]How to input dynamic data (processName and pid) in ListView?
我一直在做任務管理器,並且能夠在文本視圖中顯示流程的名稱,pid等。 可以在這里看到: http : //i.imgur.com/1zpXg.jpg
我想將所有這些都轉換為“列表”視圖,這樣就無需鍵入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中輸入數據。
您可以將每個進程( String
,id等)添加到對象中,然后將其添加到ArrayList<YourObject>
。 然后構建一個自定義適配器(即自定義BaseAdapter
)並將其設置為ListView
。
每次創建新進程時,將其添加到ArrayList
,然后調用notifyDataSetChanged
來更新ListView
。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.