project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/TeamSelectionActivity.java
branchhedgeroid
changeset 5625 9add7b92c5f0
parent 5621 ea796c83ea47
child 5627 ce2d92589cbc
equal deleted inserted replaced
5623:df23b477609d 5625:9add7b92c5f0
    41 import android.widget.ImageView;
    41 import android.widget.ImageView;
    42 import android.widget.ListView;
    42 import android.widget.ListView;
    43 import android.widget.RelativeLayout;
    43 import android.widget.RelativeLayout;
    44 import android.widget.SimpleAdapter;
    44 import android.widget.SimpleAdapter;
    45 import android.widget.SimpleAdapter.ViewBinder;
    45 import android.widget.SimpleAdapter.ViewBinder;
       
    46 import android.widget.TextView;
    46 
    47 
    47 public class TeamSelectionActivity extends Activity{
    48 public class TeamSelectionActivity extends Activity{
    48 
    49 
    49 	private static final int ACTIVITY_TEAMCREATION = 0;
    50 	private static final int ACTIVITY_TEAMCREATION = 0;
    50 	
    51 	
    51 	private ImageButton addTeam, back;
    52 	private ImageButton addTeam, back;
    52 	private ListView availableTeams, selectedTeams;
    53 	private ListView availableTeams, selectedTeams;
    53 	private ArrayList<HashMap<String, Object>> availableTeamsList, selectedTeamsList;
    54 	private ArrayList<HashMap<String, Object>> availableTeamsList, selectedTeamsList;
       
    55 	private TextView txtInfo;
    54 	private int minTeams = 2;
    56 	private int minTeams = 2;
    55 
    57 
    56 	public void onCreate(Bundle savedInstanceState){
    58 	public void onCreate(Bundle savedInstanceState){
    57 		super.onCreate(savedInstanceState);
    59 		super.onCreate(savedInstanceState);
    58 
    60 
    59 		setContentView(R.layout.team_selector);
    61 		setContentView(R.layout.team_selector);
    60 
    62 
    61 		addTeam = (ImageButton) findViewById(R.id.btnAdd);
    63 		addTeam = (ImageButton) findViewById(R.id.btnAdd);
    62 		back = (ImageButton) findViewById(R.id.btnBack);
    64 		back = (ImageButton) findViewById(R.id.btnBack);
    63 
    65         txtInfo = (TextView) findViewById(R.id.txtInfo);
       
    66         
    64 		addTeam.setOnClickListener(addTeamClicker);
    67 		addTeam.setOnClickListener(addTeamClicker);
    65 		back.setOnClickListener(backClicker);
    68 		back.setOnClickListener(backClicker);
    66 
    69 
    67 		availableTeams = (ListView) findViewById(R.id.availableTeams);
    70 		availableTeams = (ListView) findViewById(R.id.availableTeams);
    68 		availableTeamsList = FrontendDataUtils.getTeams(this);
    71 		availableTeamsList = FrontendDataUtils.getTeams(this);
    88 		adapter = new SimpleAdapter(this, selectedTeamsList, R.layout.team_selection_entry, new String[]{"txt", "img", "color", "count"}, new int[]{R.id.txtName, R.id.imgDifficulty, R.id.teamColor, R.id.teamCount});
    91 		adapter = new SimpleAdapter(this, selectedTeamsList, R.layout.team_selection_entry, new String[]{"txt", "img", "color", "count"}, new int[]{R.id.txtName, R.id.imgDifficulty, R.id.teamColor, R.id.teamCount});
    89 		adapter.setViewBinder(viewBinder);
    92 		adapter.setViewBinder(viewBinder);
    90 		selectedTeams.setAdapter(adapter);
    93 		selectedTeams.setAdapter(adapter);
    91 		selectedTeams.setOnItemClickListener(selectedClicker);
    94 		selectedTeams.setOnItemClickListener(selectedClicker);
    92 
    95 
       
    96 		txtInfo.setText(String.format(getResources().getString(R.string.teams_info_template), selectedTeams.getChildCount()));
    93 	}
    97 	}
    94 
    98 
    95 	private ViewBinder viewBinder = new ViewBinder(){
    99 	private ViewBinder viewBinder = new ViewBinder(){
    96 		public boolean setViewValue(View view, Object data,	String textRepresentation) {
   100 		public boolean setViewValue(View view, Object data,	String textRepresentation) {
    97 			switch(view.getId()){
   101 			switch(view.getId()){
   216 		public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) {
   220 		public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) {
   217 			availableTeamsList.add((HashMap<String, Object>) selectedTeamsList.get(position));
   221 			availableTeamsList.add((HashMap<String, Object>) selectedTeamsList.get(position));
   218 			selectedTeamsList.remove(position);
   222 			selectedTeamsList.remove(position);
   219 			((SimpleAdapter)availableTeams.getAdapter()).notifyDataSetChanged();
   223 			((SimpleAdapter)availableTeams.getAdapter()).notifyDataSetChanged();
   220 			((SimpleAdapter)selectedTeams.getAdapter()).notifyDataSetChanged();
   224 			((SimpleAdapter)selectedTeams.getAdapter()).notifyDataSetChanged();
       
   225 			
       
   226 			txtInfo.setText(String.format(getResources().getString(R.string.teams_info_template), selectedTeamsList.size()));
   221 		}
   227 		}
   222 
   228 
   223 	};
   229 	};
   224 
   230 
   225 	public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuinfo){
   231 	public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuinfo){
   264 		
   270 		
   265 		selectedTeamsList.add(hash);
   271 		selectedTeamsList.add(hash);
   266 		availableTeamsList.remove(position);
   272 		availableTeamsList.remove(position);
   267 		((SimpleAdapter)availableTeams.getAdapter()).notifyDataSetChanged();
   273 		((SimpleAdapter)availableTeams.getAdapter()).notifyDataSetChanged();
   268 		((SimpleAdapter)selectedTeams.getAdapter()).notifyDataSetChanged();
   274 		((SimpleAdapter)selectedTeams.getAdapter()).notifyDataSetChanged();
       
   275 		
       
   276 		txtInfo.setText(String.format(getResources().getString(R.string.teams_info_template), selectedTeamsList.size()));
   269 	}
   277 	}
   270 
   278 
   271 	private void returnTeams(){
   279 	private void returnTeams(){
   272 		int teamsCount = selectedTeamsList.size();
   280 		int teamsCount = selectedTeamsList.size();
   273 		if(teamsCount >= minTeams){
   281 		if(teamsCount >= minTeams){