轉自: 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>