在Preference標籤中,爲標籤加參數,實現帶參數跳轉

轉自: 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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章