gpt4 book ai didi

android - 如何在 AlertDialog 中获得可导航到新 Activity 的可点击超链接?

转载 作者:行者123 更新时间:2023-11-29 20:55:11 25 4
gpt4 key购买 nike

我想做的是在 AlertDialog 显示的消息中有一个可点击的超链接。我的目标是弹出一个 AlertDialog,询问用户是接受还是拒绝类似于以下内容的条款和条件:

enter image description here

当点击“Google Play 服务条款”超链接时,我想开始一个新 Activity 。我看过这里,我可以找到如何将超链接添加到网站以及如何在 TextView 中为文本添加超链接,但我无法为 AlertDialog 执行此操作。我正在寻找一种方法来设置对话框以将超链接文本链接到 Activity ,或者获取显示消息的 TextView(我可以自己操作 TextView)。

我已尝试通过 (TextView) getDialog().findViewById(android.R.id.message) 获取消息 TextView,但这会返回 null。

如有任何帮助,我们将不胜感激!

最佳答案

使用AlertDialog.setView()在消息区域显示包含超链接 TextView 的自定义布局。

例如制作一个 hyperlink_layout.xml 包含一个带有 id = hyperlink_text 的 TextView

它只需要包含 AlertDialog 的消息区域中显示的内容,您不需要按钮/标题等。

像这样创建 AlertDialog(从 Activity 中):

LayoutInflater inflater = getLayoutInflater();
View dialogView = inflater.inflate(R.layout.hyperlink_layout, null);

// get the text view from the view:
TextView hyperlinkText = (TextView)dialogView.findViewById(R.id.hyperlink_text);

// format/set it up how you like...

// handle the click on the hyperlink:
hyperlinkText.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// handle the click, launch the new Activity etc
}
});

// create the alert dialog
new AlertDialog.Builder(this)
.setView(dialogView)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// handle OK
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// handle Cancel
}
})
.show();

关于android - 如何在 AlertDialog 中获得可导航到新 Activity 的可点击超链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27962146/

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