如何将所有正在运行的任务加载到Android中的ListView布局

时间:2014-01-02 22:48:25

标签: android android-layout android-listview

我正在尝试将所有正在运行的任务加载到Android中的列表视图中,我为所有已安装的应用程序完成了它,但我不知道如何运行它来运行任务。

我可以在toast消息上显示正在运行的任务,但不知道如何在ListView上获取它。请帮帮我。

1 个答案:

答案 0 :(得分:2)

如评论中所述,您首先要获取当前正在运行的任务的列表。您可以使用以下代码执行此操作:

final   ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);

    for (int i = 0; i < recentTasks.size(); i++) 
    {
        Log.d("Executed app", "Application executed : " +recentTasks.get(i).baseActivity.toShortString()+ "\t\t ID: "+recentTasks.get(i).id+"");         
    }

来源:How to find the currently running applications programatically in android?

然后,当您拥有当前任务列表后,您将需要创建一个适配器,它将填充您的列表视图。有两种主要方法可以做到这一点:

  • 使用标准ArrayAdapter并传入字符串列表。您必须从返回给您的任务列表中生成此字符串列表。这是为每个列表元素显示每个任务只有一行文本的好方法。
  • 扩展标准ArrayAdapter以接受任务列表(RunningTaskInfo)并解析ArrayAdapter子类内的内容。如果要为每个列表元素的每个任务显示多行文本(例如,任务ID或图像),则必须执行此操作。

以下教程中都解释了这两个示例:http://www.vogella.com/articles/AndroidListView/article.html#listview_listviewexample

最后,您需要通过调用:

将适配器关联到ListView
listViewReference.setAdapter(yourAdapterReference);

您的ListView将由适配器自动填充。