2012-03-03 21 views
11

Tengo una aplicación que, al momento, con sólo presionar un botón. el botón número 1 cambia una vista de texto para tener el número 1 en ella. Lo que tengo que hacer es agregar la vista para decir, cuando se presiona el número 3, la vista de texto dirá 13 instea de 3. Aquí está la instrucción de cambio que estoy usando para manejar las pulsaciones de los botones.Adjuntar una vista de texto

@Override 
public void onClick(View c) { 

    switch (c.getId()) 
    { 
     case R.id.keypad_1: 
      TextView prs1 = (TextView) findViewById(R.id.diff); 
      prs1.setText("1"); 

    } 

} 
+0

¿Por qué no deja este método vacío? De esta forma obtendrás lo que quieres. – m0skit0

Respuesta

0

Posiblemente intenta hacer esto:

prs1.setText(prs1.getText() + "1"); 

Edit: Lo siento me he dado cuenta de que lo quería decir "13"

por lo que tendría que desee hacer esto:

String text = prs1.getText(); 
prs1.setText("1" + text); 

"cuando aparece la pantalla por primera vez hay un? En la vista de texto, luego cuando presiono el botón 1 quiero que la vista de texto sea 1 y luego cuando presiono 3 que tendría que ser 13. ":

hacer esto, entonces:

String text = prs1.getText(); 
if(text.contains("?")) 
      text = text.replace("?", ""); 
    prs1.setText("1" + text); 
0

Puede usar el método append() de textView y la diferencia entre setText y append se puede encontrar en here. Si realiza los siguientes cambios, creo que el código funcionará como se esperaba.

TextView prs1 = (TextView) findViewById(R.id.diff); 
public void onClick(View c){ 
    switch (c.getId()) 
    { 
     case R.id.keypad_1: 
      prs1.append("1"); 
    } 
} 
Cuestiones relacionadas