我在 android textview 中有一个链接。我无法捕获链接点击事件。
String text = "http:://www.google.com is a google link";
textview.setText(text);
Run Code Online (Sandbox Code Playgroud)
“http:://www.google.com”这个字符串范围在文本视图中是可点击的。我想捕获特定的点击事件。
我尝试了以下方法。
public static void setTextView(TextView text, CharSequence sequence) {
UoloLogger.i(TAG, "Setting string :: "+sequence);
SpannableStringBuilder strBuilder = new SpannableStringBuilder(sequence);
URLSpan[] urls = strBuilder.getSpans(0, sequence.length(), URLSpan.class);
for(URLSpan span : urls) {
makeLinkClickable(strBuilder, span);
}
text.setText(strBuilder);
text.setMovementMethod(LinkMovementMethod.getInstance());
}
public static void makeLinkClickable(SpannableStringBuilder strBuilder, final URLSpan span) {
int start = strBuilder.getSpanStart(span);
int end = strBuilder.getSpanEnd(span);
int flags = strBuilder.getSpanFlags(span);
ClickableSpan clickable = new ClickableSpan() {
public void onClick(View …
Run Code Online (Sandbox Code Playgroud) 文档不够清楚,无法解释这一点。
-keepnames
类_规范简称
-keep,allowshrinking
class_specification指定名称要保留的类和类成员,如果它们在收缩阶段没有被删除。例如,您可能希望保留实现 Serializable 接口的类的所有类名,以便处理后的代码与任何最初序列化的类保持兼容。仍然可以删除根本不使用的类。仅在混淆时适用。
请任何人都可以解释一下keepnames 属性。这将只保留类名还是类的所有成员和方法。请为我提供一种仅保留类名而不是类的所有方法和成员的方法。
抱歉英语不好。我以为我清楚地解释了我的问题。