gpt4 book ai didi

Android ClickableSpan 获取文本 onClick()

转载 作者:IT王子 更新时间:2023-10-28 23:35:06 25 4
gpt4 key购买 nike

我正在处理 TextView 中的 ClickableSpan,并且我正在尝试获取单击范围的文本。这是我的代码。

// this is the text we'll be operating on
SpannableString text = new SpannableString("Lorem ipsum dolor sit amet");

// make "dolor" (characters 12 to 17) display a toast message when touched
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View view) {
// This will get "Lorem ipsum dolor sit amet", but I just want "dolor"
String text = ((TextView) view).getText().toString();
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
}
};

text.setSpan(clickableSpan, 12, 17, 0);

如您所见,我将 clickablespan 设置为 TextView 从字符 12 到 17,我想在 onClick 事件。

反正我能做到吗?或者至少我可以将 12, 17 参数传递给 onClick 事件吗?

谢谢!

最佳答案

试试这个:

public class LoremIpsumSpan extends ClickableSpan {
@Override
public void onClick(View widget) {
// TODO add check if widget instanceof TextView
TextView tv = (TextView) widget;
// TODO add check if tv.getText() instanceof Spanned
Spanned s = (Spanned) tv.getText();
int start = s.getSpanStart(this);
int end = s.getSpanEnd(this);
Log.d(TAG, "onClick [" + s.subSequence(start, end) + "]");
}
}

关于Android ClickableSpan 获取文本 onClick(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19750458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com