如何在偏好设置屏幕(PreferenceActivity)中添加超链接

15
我想在偏好设置屏幕中添加三个超链接,如果可能的话要使用PreferenceActivity。我能这样做吗?如果可以,是否有人可以提供支持?
非常感谢,

PreferenceScreen的上下文中,“超链接”是什么意思?您希望这些“超链接”出现在哪里?您希望它们看起来像什么?当用户单击其中一个时,您希望发生什么?请更具体地描述一下。 - CommonsWare
我希望用户在单击时能够转到开发者网站上的网页。我期望超链接出现在“首选项”屏幕中,通常是列表中(类似于Twitter设置页面),并且我希望它们看起来相当基本。 - user2511675
2个回答

46

如果您不想要“超链接”,那么您需要在PreferenceScreen中添加条目,当点击时启动某个活动,例如打开所需URL的网页。

这可以通过 <intent>元素来实现:

<Preference android:title="@string/prefs_web_page" >
    <intent android:action="android.intent.action.VIEW"
            android:data="http://www.example.com" />
</Preference>

将你在填充PreferenceScreen时所使用的内容,包含在你的偏好设置XML文件中。当用户点击该偏好设置条目时,你请求的活动将会启动。

将这些内容包含在你的偏好设置XML文件中,当用户点击相应的偏好设置条目时,你请求的活动就会启动。


@user2511675:“这个页面用于显示帮助、服务条款和隐私政策,你能想到更好的方法吗?”-- 在您的操作栏中添加三个溢出项,每个溢出项对应一个。 - CommonsWare
好的,但它们实际上是如何显示的?即文本显示在哪里? - user2511675
如果我要使用startActivity(),我该如何将它们链接到网页?也就是说,在startActivity()下面应该放什么代码?感谢您的耐心等待。 - user2511675
1
@user2511675:startActivity(new Intent(Intent.ACTION_VIEW, "http://you.really.can.find/this/stuff/out/by-searching")); - CommonsWare
他。我想我会在某个地方使用那个网页链接,伙计 ;) - user2511675
显示剩余6条评论

2

Java版本大概长这样:

PreferenceScreen link = man.createPreferenceScreen(this);
this.setIntent(new Intent().setAction(Intent.ACTION_VIEW).setData(
           Uri.parse("https://rogerkeays.com")));
link.setTitle(R.string.link_title);
link.setSummary(R.string.link_summary);

// add to containing group
// group.addPreference(link);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接