I'm making my first android app and here's where i'm stuck.
I have an activity A which requires 4 players to be picked.
I'm passing to the activity PickPlayer 1,2,3,4 according to which player i want to fill. 
ImageButton addp1 = (ImageButton)findViewById(R.id.player1);
addp1.setOnClickListener(new View.OnClickListener()
{
    @Override
    public void onClick(View v)
    {
        Intent i = new Intent(getApplicationContext(), PickPlayer.class);
        i.putExtra("playersList", playersList);
        startActivityForResult(i, 1);
    }
});
On the PickPlayer activity i have a list which is populated and each item receives a listener. 
    final ArrayList<Player> playersList = (ArrayList<Player>)getIntent().getSerializableExtra("playersList");
    lv.setAdapter(new PlayerItemAdapter(this, android.R.layout.simple_list_item_1, playersList));
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) {
            player = playersList.get(position);
            playersList.remove(position);
            Intent intentMessage = new Intent();
            intentMessage.putExtra("player", player);
            intentMessage.putExtra("playersList", playersList);
            setResult(RESULT_OK, intentMessage);
            finish();
        }
    });`
The above works fine by creating the playersList on activity A and passing it through from one to another each time and removing the player from the playerList on click. 
Problem is if a player is chosen by mistake he needs to be put back into the list again once replaced by someone else.
Any suggestions on implementing this ?
One way i thought of is to pass from activity A to PickPlayer the player ( if one is assigned already at his position ) and readding him to the playerList again but i'm sure there's a better way for it.
I'm new to android so i have no idea about resources and best practises.
( example passing an object through activities or an id and run a db query).
Thanks
 
     
     
    