It looks like what you really need is the ListActivity's OnResume(),
etc.

On Apr 19, 1:54 pm, Patrick Nako <nako...@gmail.com> wrote:
> Hello everyone, i'm in the process of creating a application manager/
> killer for my high school senior project. Unfortunately i'm running
> into the issue of my view not refreshing graphically with my updated
> list. The application killing works but the list refreshing after
> killing the application does not. My application seems to refresh the
> view when you hit the back button and re-opening my application but
> hitting the home button and re-opening my application doesn't.
>
> Note - All experimenting has been done on the emulator and not on my
> Droid yet.
>
> My Code:
>
> public class NTaskManager extends ListActivity implements
> DialogInterface.OnClickListener{
>
>         //Recreation of RunningAppProcessInfo class that is able to return
> its process name
>         public class NRunningAppProcessInfo extends
> ActivityManager.RunningAppProcessInfo{
>
>                 public  
> NRunningAppProcessInfo(ActivityManager.RunningAppProcessInfo
> n){
>                         this.importance = n.importance;
>                         this.importanceReasonCode = n.importanceReasonCode;
>                         this.importanceReasonComponent = 
> n.importanceReasonComponent;
>                         this.importanceReasonPid = n.importanceReasonPid;
>                         this.lru = n.lru;
>                         this.pid = n.pid;
>                         this.pkgList = n.pkgList;
>                         this.processName = n.processName;
>                         this.uid = n.uid;
>                 }
>                 public String toString(){
>                         return this.processName;
>                 }
>         }
>
>         //Pop up dialog box when user clicks on an item on the list
>         public void onClick(DialogInterface dialog, int which){
>                 String f = String.valueOf(Process.myUid());
>
>                 if (which == AlertDialog.BUTTON_POSITIVE){
>                         searchAndKillTask();
>                 }
>
>                 else if(which == AlertDialog.BUTTON_NEGATIVE){
>                         Toast.makeText(this, f, Toast.LENGTH_LONG).show();
>                 }
>         }
>
>         //Declare variables and lists
>         boolean hasNextCheck = true;
>         private static final int REFRESH = 0;
>         boolean isPrevious;
>         boolean isNext;
>         String taskToBeKilled = "";
>
>         LinkedList<NRunningAppProcessInfo> processes; //List that will hold
> object names
>         List<ActivityManager.RunningAppProcessInfo> x; //List containing
> objects that hold application information
>         ActivityManager z; //Manages applications such as ending them
>         ListIterator<ActivityManager.RunningAppProcessInfo> i; //List
> iterator
>         ArrayAdapter<NRunningAppProcessInfo> processliststring;
>         ListView lv;
>         AlertDialog.Builder adb; //Alert dialog box builder for clicking of
> an item
>
>     /** Called when the activity is first created. */
>     @Override
>     protected void onCreate(Bundle savedInstanceState) {
>         super.onCreate(savedInstanceState);
>
>         //Assign the linked list
>         processes = new LinkedList<NRunningAppProcessInfo>();
>
>         //Assign the activity manager
>         z = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
>
>         //Give the list application information
>         x = z.getRunningAppProcesses();
>
>         //Add processes to linked list for list adapter and show it
>         this.refreshList();
>
>         //Create an alert dialog box...
>         adb = new AlertDialog.Builder(this);
>
>         //...If yes kill task...
>         adb.setPositiveButton("Yes", this);
>
>         //...If no do nothing
>         adb.setNegativeButton("No", this);
>
>         //When an item on the list is pressed
>         lv.setOnItemClickListener(new OnItemClickListener() {
>           public void onItemClick(AdapterView<?> parent, View view,
>               int position, long id) {
>
>                   //Set text to ask if they want to kill the task
>                   adb.setMessage("Kill Task "+
> ((TextView)view).getText().toString() + "?");
>
>                   taskToBeKilled = ((TextView)view).getText().toString();
>
>                   //Show the alert dialog box
>                   adb.show();
>                   refreshList();
>
>           }
>         });
>
>     }
>
>     private void refreshList(){
>         //Clear the list to start fresh
>         processes.clear();
>
>         //Refresh the list iterator
>         i = x.listIterator();
>
>         //Loop...
>         do{
>                 //Check if there is something next on the list
>             isNext = i.hasNext();
>
>             //If there is...
>             if(isNext == true){
>                 //Add the process to the process list
>                 processes.add(new NRunningAppProcessInfo(i.next()));
>             }
>         }while(isNext == true);//...while there is something next on
> the list
>
>         //Set the list of strings to be used for the listview
>         processliststring = new
> ArrayAdapter<NRunningAppProcessInfo>(this, layout.ntask_list,
> (List<NRunningAppProcessInfo>)processes);
>         setListAdapter(processliststring);
>
>         //View the list of processes
>         lv = getListView();
>         lv.setTextFilterEnabled(true);
>
>     }
>
>     private void searchAndKillTask(){
>         RunningAppProcessInfo task;
>         i = x.listIterator();
>         hasNextCheck = i.hasNext();
>
>         do{
>                 //Check if there is something next on the list
>             isNext = i.hasNext();
>
>             //If there is...
>             if(isNext == true){
>                 //Check if the name matches the task to be killed
>                 task = i.next();
>
>                 if(task.processName == taskToBeKilled){
>                         android.os.Process.killProcess(task.pid);
>                         z.restartPackage(task.processName);
>                 }
>
>             }
>         }while(isNext == true);//...while there is something next on
> the list
>
>     }
>
>     /* Creates the menu items */
>     public boolean onCreateOptionsMenu(Menu menu) {
>         menu.add(0, REFRESH, 0, "Refresh")
>                 .setIcon(android.R.drawable.ic_menu_rotate);
>
>         Toast.makeText(this, String.valueOf(hasNextCheck),
> Toast.LENGTH_SHORT);
>
>         return true;
>     }
>
>     /* Handles item selections */
>     public boolean onOptionsItemSelected(MenuItem item) {
>         switch (item.getItemId()) {
>         case REFRESH:
>             refreshList();
>             return true;
>         }
>         return false;
>     }
>
> }
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Beginners" group.
>
> NEW! Try asking and tagging your question on Stack Overflow 
> athttp://stackoverflow.com/questions/tagged/android
>
> To unsubscribe from this group, send email to
> android-beginners+unsubscr...@googlegroups.com
> For more options, visit this group 
> athttp://groups.google.com/group/android-beginners?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.

NEW! Try asking and tagging your question on Stack Overflow at
http://stackoverflow.com/questions/tagged/android

To unsubscribe from this group, send email to
android-beginners+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en

Reply via email to