Can I ask how to format string value e.g. 5000000.00 to 5,000,000.00? Apparently I'm doing currency related stuff for android application, I can managed to just format string value 5000000 to 5,000,000 without the dot separator in the edit text. I would like to store the string value for later to be used to parseDouble so that I will need to calculate and have some decimals. I managed to do with just comma separator but any idea on how to make the dot to be shown in the edit text as well?
The following is my code: 
amountText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
            }
            @Override
            public void afterTextChanged(Editable s) {
                amountText.removeTextChangedListener(this);
                if(!amountText.getText().toString().equals(""))
                {
                    try {
                        String editText = amountText.getText().toString();
                        String newStr = editText.replace("$", "").replace(",", "");
                        customer.getProperty().get(groupPosition).setAmount(newStr);
                        String formattedString = formatString(customer.getProperty().get(groupPosition).getAmount());
                        amountText.setText(formattedString);
                        amountText.setSelection(amountText.getText().length());
                        // to place the cursor at the end of text
                    } catch (NumberFormatException nfe) {
                        nfe.printStackTrace();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                amountText.addTextChangedListener(this);
            }
        });
public String formatString(String s)
{
        String givenstring = s.toString();
        Long longval;
        if (givenstring.contains(",")) {
            givenstring = givenstring.replaceAll(",", "");
        }
        longval = Long.parseLong(givenstring);
        DecimalFormat formatter = new DecimalFormat("#,###,###");
        String formattedString = formatter.format(longval);
        return formattedString;
}
I have tested use parseDouble but when I input "." in EditText, it just won't appear, and if I used long variable instead, it will give wrong format and error. (java.lang.NumberFormatException: Invalid long: "500000.00"). All values are done in string and later processing I will just parse the value when doing calculation.
Thank you and appreciate for anyone guidance and I apologize if there exists the post that is similar as I did not manage to find solution yet.