I have three addresses on my Bitcoin Wallet for Android, but when sending coins, I can’t find where to select which address I want to send from. I set the second of the three addresses I’ve got as the main address, but when I sent some coins they have been sent from the first of the three.
There is no option in Bitcoin to control which address transactions are sent "from". The Bitcoin client will use one (or more) of your addresses which have previously been sent sufficient funds to cover your new transaction.
To make this clearer, consider an example. Somebody (person A) sends you (person Y) some coins.
A -> Y1 [2 coins]
Now somebody else sends you more coins:
B -> Y2 [3 coins]
Suppose you want to pay person B 4 coins. What happens is your Bitcoin client will create a transaction with the following three parts:
Y1 -> B [2 coins] Y2 -> B [2 coins] Y2 -> Y3 [1 coin]
Since you must always spend the entire amount allocated to an address, your client arranges the transactions so the 3 coins of Y2 are fully spent. Y3 is a new address created by your client for the change, which comes back to you and remains in your wallet.
If you then spend your remaining 1 coin to person C, your client will create
Y3 -> C [1 coin]
The address Y3 was created internally by your client and you don't have an option to choose what it is.
For more information, see: