2011-12-17 10 views
0

私はタスクマネージャを作っていて、プロセスの名前、pidなどをtextviewに表示できます。 http://i.imgur.com/1zpXg.jpgListViewで動的データ(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の場合はそうではありません。この種のデータは、そのデータのすべてを表示できるように、ある配列に格納する必要があります。

MY QUESTION:ListViewにそのような種類の動的データ(processName、PID、appName)を保存するにはどうすればよいですか?

私はListViewの静的データバージョンで既によく知られています。しかし、私のタスクマネージャは動的なデータを生成するので、ListViewに入力する方法は少ししかありません。

答えて

1

オブジェクトに各プロセス(String、idなど)を追加してからArrayList<YourObject>に追加することができます。その後、カスタムアダプタ(カスタムBaseAdapter)を作成し、ListViewに設定します。

新しいプロセスが作成されるたびに、ArrayListを追加し、notifyDataSetChangedに電話してListViewを更新してください。

希望すると便利です。

+0

それはあなたを助けましたか? –

+0

そうです。ありがとう。私はまだListviewをさらに理解する必要があります。 – Loren

関連する問題