我在程序中在類B中創建了一個textview。當A級調用它時。在textview中使用鏈接的跨度
它增加了文字說「我去了商店」,我需要單詞「the」作爲一個鏈接。這個我在B類使用該做
sb.setSpan(new MyClickableSpan(Word), start, start+Word.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
這是調用類MyClickableSpan
public class MyClickableSpan extends ClickableSpan {
private String word;
public MyClickableSpan(String word) {
this.word = word;
}
@Override
public void onClick(View widget) {
Log.d("Spaannnned",word);
}
}
所以,當這個鏈接被點擊它顯示在我的日誌了。
但我需要它在類A中運行一個函數並傳入單詞。
請
但是不想用這個方法必須在class a中設置span?此刻此刻不是一個選項 – RuAware
那麼,如果你想在A類中調用某些東西,那麼你必須以某種方式爲A類的實例提供一個對B類的引用。除非你使用某種類型的消息總線或消息隊列,我不認爲是這種情況。 – Const
只需在A中創建一個SpanClickListener的實例,然後將其提供給B類,它將在創建跨度時使用它。 – Const