您的位置:首页 > Web前端

在Preference标签中,为<intent>标签加参数,实现带参数跳转

2017-09-01 11:10 721 查看
转自: https://my.oschina.net/artshell/blog/397132

在为应用开发设置界面中时,一般会使用PreferenceActivity或者PreferenceFragment类来实现.在写xml文件时,可以通过为Preference标签添加intent标签的方法来实现点击跳转,而且可以在intent标签中添加额外的参数.这样就不用再去编码实现跳转了.

具体实现参考如下:


<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<Preference
android:title="prefs_category_one"
android:summary="prefs_summary_category_one">
<!-- 这里android:targetPackage是应用程序的Context,而android:targetClass的路径在子包settings下 -->
<!-- 如果把 android:targetPackage="com.demo.artshell.uidemo.settings" 运行时找不到Activity -->
<intent
android:action="prefs_category_action_ONE"
android:targetPackage="com.demo.artshell.uidemo"
android:targetClass="com.demo.artshell.uidemo.settings.SupportOldVersionAndReusedActivityOrFragment$ReusedActivity">
<!-- 官网没有说明,但确实可以通过<extra>传附加信息 getIntent().getStringExtra("reused_key") -->
<extra
android:name="reused_key"
android:value="reused_fragment_two"/>
</intent>
</Preference>

<Preference
android:title="prefs_category_two"
android:summary="prefs_summary_category_two">
<intent
android:action="prefs_category_action_TWO"
android:targetPackage="com.demo.artshell.uidemo"
android:targetClass="com.demo.artshell.uidemo.settings.SupportOldVersionAndReusedActivityOrFragment$ReusedActivity"/>
</Preference>
</PreferenceScreen>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息