У меня есть TextView в макете. Это так просто. Я помещаю OnClickListener в макет, и некоторая часть TextView имеет значение ClickableSpan. Я хочу, чтобы ClickableSpan выполнял что-то в функции onClick при нажатии и когда щелкнута другая часть TextView, она должна что-то сделать в функциях onClick для OnClickListener макета. Вот мой код.
RelativeLayout l = (RelativeLayout)findViewById(R.id.contentLayout);
l.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "whole layout", Toast.LENGTH_SHORT).show();
}
});
TextView textView = (TextView)findViewById(R.id.t1);
textView.setMovementMethod(LinkMovementMethod.getInstance());
SpannableString spannableString = new SpannableString(textView.getText().toString());
ClickableSpan span = new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(MainActivity.this, "just word", Toast.LENGTH_SHORT).show();
}
};
spannableString.setSpan(span, 0, 5, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(spannableString);