Tengo algunas TextView y cada uno tiene una OnClickListener. Me gustaría obtener información en este método para TextView

TextView tv2 = new TextView(this,(String)book.get(i),this);
tv2.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        Intent intent = new Intent(Contact.this,Discution.class);
        //String str = this.getText(); //like this
        startActivity(intent);
    }
});

¿Cómo puedo hacer : this.getText(); en un OnClickListener ?

  • Hacer tv2 a la final y el acceso es valor en onClick() como tv2.getText().toString();
  • TextView tv2 = new TextView(this,(String)book.get(i),this); está mal. no hay tal constructor para textview
  • ¿tienes un lsitvie con textviews. Necesito más información. Pero lo que están haciendo está mal
  • ¿Tienes clase personalizada con el nombre TextView??
InformationsquelleAutor Loïc | 2014-04-14

4 Comentarios

  1. 4
    tv2.setOnClickListener(new OnClickListener() {
    
    public void onClick(View v) {
        Intent intent = new Intent(Contact.this,Discution.class);
    
                String str = tv2.getText().toString(); 
    
                startActivity(intent);
    }
    • el textview constructor no coincide con la de la docs developer.android.com/reference/android/widget/TextView.html
    • no entiendo cómo es que esto funciona y que es aceptada??
    • mi enfoque sobre cómo obtener el texto del textview no en esa línea.
    • pero que es totalmente equivocado. No debe correr a todos debe lanzar un tiempo de ejecución de excepción. Mal sugerencia.
    • sí le digo para cambiar esa línea.
    • yo hice el comentario en su post, pero yo nunca tengo respuesta alguna manera me sugirió que en mi post y es por eso que me sorprende esto fue aceptado

  2. 8

    Esto está mal

    TextView tv2 = new TextView(this,(String)book.get(i),this);

    Tendrá TextView para ser final y el constructor debe coincidir con alguno de los siguientes

    TextView(Context context)
    TextView(Context context, AttributeSet attrs)
    TextView(Context context, AttributeSet attrs, int defStyle)

    Debe ser

    final TextView tv2 = new TextView(this);

    Usted no está usando ninguna de las anteriores. Totalmente equivocado

    A continuación, dentro de onClick

    String str = tv2.getText().toString();  

    Declarado de la causa final que el acceso tv2 dentro de annonymous interior de la clase.

    http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html#accessing

    También puede utilizar el View v.

    TextView tv = (TextView) v;
    String str = tv.getText().toString();  

Dejar respuesta

Please enter your comment!
Please enter your name here