[英]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.