[英]How can I make hyperlinks in popup windows clickable in Android Studio?
我有一个 Android 应用程序,它会打开一些弹出窗口 window。 但弹出 window 中的超链接不可点击。 我尝试了一些方法,例如:在activity_main.xml
<TextView
`.....`
`android:autoLink="web"`
`android:autoLink="all"`
我认为问题在于我的文本在弹出窗口 window 中。 这是代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView dataList = findViewById(R.id.dataList);
dataList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
BlackBoardEntry entry = (BlackBoardEntry) parent.getItemAtPosition(position);
String content = entry.getContent();
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View popupView = inflater.inflate(R.layout.content_popup, null, false);
((TextView) popupView.findViewById(R.id.contentView)).setText(content);
PopupWindow popup = new PopupWindow(popupView, 500, 1000, true);
popup.showAtLocation(parent, Gravity.CENTER, 0, 0);
}
});
new Thread(new Runnable() {
@Override
public void run() {
try {
List<BlackBoardEntry> entries = BlackBoardClient.getBlackBoardEntries();
BlackBoardAdapter adapter = new BlackBoardAdapter(entries, getApplicationContext());
dataList.post(new Runnable() {
@Override
public void run() {
dataList.setAdapter(adapter);
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
public static void createClickableSpanText(ClickableSpan listener, TextView textView, String message, int startIndex, int endIndex) {
SpannableString spannableString = new SpannableString(message);
spannableString.setSpan(listener, startIndex, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
textView.setMovementMethod(LinkMovementMethod.getInstance());
}
您可以执行上述操作来为 startIndex 和 endIndex 之间的文本设置“可点击范围”。 这应该允许您单击该特定文本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.