繁体   English   中英

如何在ListView中输入动态数据(processName和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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM