diff -r 76392a62da2f -r 141c12a23787 project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/TeamSelectionActivity.java --- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/TeamSelectionActivity.java Thu Aug 11 14:56:31 2011 +0200 +++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/TeamSelectionActivity.java Thu Aug 11 14:59:14 2011 +0200 @@ -27,6 +27,8 @@ public class TeamSelectionActivity extends Activity{ + private static final int ACTIVITY_TEAMCREATION = 0; + private ImageButton addTeam, back; private ListView availableTeams, selectedTeams; private ArrayList> availableTeamsList, selectedTeamsList; @@ -86,6 +88,35 @@ } }; + public void onActivityResult(int requestCode, int resultCode, Intent data){ + if(requestCode == ACTIVITY_TEAMCREATION){ + if(resultCode == Activity.RESULT_OK){ + updateListViews(); + } + }else{ + super.onActivityResult(requestCode, resultCode, data); + } + } + + private void updateListViews(){ + unregisterForContextMenu(availableTeams); + availableTeamsList = FrontendDataUtils.getTeams(this); + for(HashMap hashmap : selectedTeamsList){ + String name = (String)hashmap.get("txt"); + for(HashMap hash : availableTeamsList){ + if(name.equals((String)hash.get("txt"))){ + availableTeamsList.remove(hash); + } + } + } + SimpleAdapter adapter = new SimpleAdapter(this, availableTeamsList, R.layout.team_selection_entry, new String[]{"txt", "img"}, new int[]{R.id.txtName, R.id.imgDifficulty}); + availableTeams.setAdapter(adapter); + registerForContextMenu(availableTeams); + availableTeams.setOnItemClickListener(availableClicker); + + + } + private void setTeamColor(int position, int color){ View iv = ((RelativeLayout)selectedTeams.getChildAt(position)).findViewById(R.id.teamCount); setTeamColor(iv, color); @@ -142,8 +173,7 @@ private OnClickListener addTeamClicker = new OnClickListener(){ public void onClick(View v) { - startActivity(new Intent(TeamSelectionActivity.this, TeamCreatorActivity.class)); - + startActivityForResult(new Intent(TeamSelectionActivity.this, TeamCreatorActivity.class), ACTIVITY_TEAMCREATION); } }; @@ -192,7 +222,7 @@ Intent i = new Intent(TeamSelectionActivity.this, TeamCreatorActivity.class); Team t = (Team)availableTeamsList.get(position).get("team"); i.putExtra("team", t); - startActivity(i); + startActivityForResult(i, ACTIVITY_TEAMCREATION); return true; } return false;