Tengo TextView
con ClickableSpan
en que tanto layout_height como layout_width son wrap_content.Comportamiento extraño de ClickableSpan: se hace clic en onClick() al hacer clic en espacio vacío
Cuando el texto en TextView
no es demasiado largo, funciona bien. Cuando el texto es lo suficientemente largo para que tome 2 líneas, también funciona bien, pero tiene un comportamiento extraño.
que es cuando hice clic en el espacio vacío de la segunda línea (no llena con el texto todavía, pero parte de TextView
), el ClickableSpan
onClick()
devolución de llamada.
No espero esto ya que hice clic en el espacio vacío solamente pero no en el texto distribuido. Aunque no afecta mucho, quiero saber qué hay detrás.
que establezca la ClickableSpan
con código de abajo:
TextView tv = (TextView) findViewById(R.id.text);
tv.setText("TEXT TEXT TEXT TEXT");
SpannableStringBuilder ssb = new SpannableStringBuilder();
ssb.append(tv.getText());
ssb.setSpan(new TestClickableSpan(), ssb.length()-5, ssb.length(), 0);
tv.setText(ssb);
tv.setMovementMethod(LinkMovementMethod.getInstance());
tv.setOnTouchListener(new TextViewOnTouchListener());
El TextViewOnTouchListener:
class TextViewOnTouchListener implements OnTouchListener{
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("TextView", "onTouch");
return false;
}
}
El TestClickableSpan:
class TestClickableSpan extends ClickableSpan{
@Override
public void onClick(View arg0) {
Log.d("ClickableSpan", "Confirm OnClick: "+arg0.toString());
}
}
¿Has resuelto esto? –
@KiranKumar echa un vistazo a mi respuesta a continuación – dor506