Hola, entiendo que quieres mostrar sólo dos decimales en los campos:
campoDolar
campoLibra
campoPeseta
Que el usuario mete en campoCantidad (en euros) una cantidad y da a un botón, entonces la aplicación lanza la función f_euros() que edita los EditText anteriores para que muestre una conversión con dos decimales. Ten en cuenta que se la clase DecimaFormat usa el redondeo, creo que es lo que buscas pero por si acaso te lo comento.
Si he entendido bien borra la clase DecimalFormat y modifica la función f_euros() como te indico a continuación. Te comento además que intentes optimizar la memoria y el tiempo de procesador lo máximo posible, si te fijas llamas 3 veces a
Double.parseDouble(campoCant idad.getText().toString())
lo que provoca que se ejecute el idéntico código innecesariamente 2 veces incrementando el tiempo en realizar la función.
Además cuando pasas a libras divides cuando tienes que multiplicar, supongo que sea un fallo al teclear que no te diste cuenta.
public void f_euros() {
//Aqui es donde le dices el formato que quieres
DecimalFormat df = new DecimalFormat("0.00");
//Llamas una sola vez y parseas lo introducido en el campoCantidad
Double cantidad=Double.parseDouble(campoCantidad.getText( ).toString());
//Invocas al método format pasándole la cantidad multiplicada por la equivalencia
try {
//Despues de convertir a double, formateas con el DecimalFormat creado anteriormente
campoDolar.setText(df.format(cantidad* 1.3117));
campoLibra.setText(df.format(cantidad * 0.85030));
campoPeseta.setText(df.format(cantidad * 166.386));
campoEuro.setText(getResources().getString(R.strin g.Elegida));
} catch (Exception e) {
campoEuro.setText(getResources().getString(R.strin g.Error));
}
}
Por otra parte, los campos
campoDolar
campoLibra
campoPeseta
campoEuro
están definidos pero no veo que en ningún sitio apunten a los que tienes en el layout, supongo que en onCreate() de la actividad tienes algo así como:
campoDolar=(EditText) findViewById(R.id.campoDolar);
para cada campo (libra,peseta, euro y cantidad).
Cuida de depurar la entrada de datos y no permitir al usuario meter letras en los campos donde solo deberían ir números o que se encuentren vacíos y que estas comprobaciones se hagan antes de llamar a la función f_euros();
Un saludo.