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