2011-04-11 28 views
51

¿Cómo puedo obtener el texto de un botón presionado? (Android)obtener el texto del botón presionado

puedo obtener el texto de un botón:

String buttonText = button.getText(); 

puedo conseguir el id de un botón pulsado:

int buttinID = view.getId(); 

Lo que no puede saber en este momento es cómo obtener el texto en el botón presionado.

public void onClick(View view) { 
    // Get the text on the pressed button 
} 

Respuesta

137

la vista que tienes aprobada en el onClick() es el botón que busca.

public void onClick(View v) { 
    // 1) Possibly check for instance of first 
    Button b = (Button)v; 
    String buttonText = b.getText().toString(); 
} 

1) Si está utilizando una clase no anónimo como onClickListener, es posible que desee comprobar el tipo de la vista antes de depositarlo, ya que puede ser algo diferente de un botón.

+0

Gracias, funciona después de añadir .toString() para que al igual que la guadaña dice :) me olvidé de echarlo a un objeto de botón abetos t. –

+0

Gracias justo lo que estaba buscando. – jramirez

+0

Cualquier idea de por qué simplemente '' '' ' String buttonText = (Button) v) .getText(). ToString(); '' '' '' ¿no funcionaría? – TeePaps

7

Si está seguro de que la instancia OnClickListener se aplica a un botón, a continuación, usted podría emitir el punto de vista aceptado a un botón y obtener el texto:

public void onClick(View view){ 
Button b = (Button)view; 
String text = b.getText().toString(); 
} 
3

Trate de usar:

String buttonText = ((Button)v).getText().toString(); 
+2

Esto funcionará pero tienes que convertirlo a String. Así que es: 'String s = (String) ((Button) v) .getText();' – Evmorov

0

Prueba de esto,

Button btn=(Button)findViewById(R.id.btn); 
String btnText=btn.getText(); 
Cuestiones relacionadas