Máscara monetária em um Edit Text

Bom galera, é o seguinte, para aceitar somente números eu consigo definir pelo xml “android:numeric”, mas o problema que o edit text não aceita vírgula e/ou pontos.
Eu queria um edit text automático, que quando o usuário vai digitando por exemplo “123456”, apareça “1.234,56”. Tem como?
Muito obrigado!

Alguém me ajuda ai?
Ate agora nao conseguir implementar! =/

Vc vai ter que criar o seu proprio TextWatcher

Valeu amigo, eu tentei implementar o textwatcher aqui.
funciona tranquilo quando eu coloco pra aparecer um dialog quando o edit text é alterado.
Mas quando eu coloco pro meu edit text setar um valor formatado dá erro.

txtValor.addTextChangedListener(new TextWatcher() {

			public void beforeTextChanged(CharSequence s, int start, int count, int after) {
				
			}

			public void onTextChanged(CharSequence s, int start, int before, int count) {
			    NumberFormat formatter = new DecimalFormat("$#.###.###,##");  
			    txtValor.setText(formatter.format(txtValor.getText()));
			}

			@Override
			public void afterTextChanged(Editable arg0) {
			}
		});

E quando o TextWatcher não é identificado, o que faço?

A mensagem de erro é “TextWatcher cannot be resolved to a type”

Estou tentando implementar o que achei em http://debugcodigos.blogspot.com.br/2012/05/edittext-com-mascara-monetaria-android.html