2011-11-18 237 views
2

我是Android開發新手。我在Android應用程序中開發了一個首選項活動。我想要一個首選項來打開常規活動。我在XML文件中創建了一個首選項對象,並捕獲了onclick事件以打開活動。下面 代碼:Android偏好屏幕偏好設置

<PreferenceCategory android:title="School"> 
    <Preference 
    android:key="txtSchoolListPreference" 
    android:title="Select School" 
    android:clickable="true" /> 
</PreferenceCategory> 

    // Get selected school text box 
    Preference SelectedSchool =(Preference)findPreference("txtSchoolListPreference"); 

    SelectedSchool.setOnPreferenceClickListener(new OnPreferenceClickListener() { 
     public boolean onPreferenceClick(Preference preference) { 
      // Show the login intent 
      Intent i = new Intent(Settings.this,SchoolList.class); 
      i.putExtra(One.APP_ACTIVITY_NAME,One.APP_ACTIVITY_SETTINGS); 
      startActivityForResult(i, One.APP_ACTIVITY_SCHOOLLIST); 
      return true; 
     } 
    }); 

一切都很正常,但我想圓圈箭頭向下圖標添加到喜好,但我不知道怎麼辦。

沒有人有任何想法,我能怎麼圓圈箭頭向下的喜好添加到我已經添加到頁面中的偏好?

回答

1

讓PreferenceActivity顯示出來像系統當前的主題有點多。比剛纔顯示的Android香草箭頭。您必須創建DialogPreferencecode on github)的子類。使用EditTextPreferencecode on github)中的代碼作爲如何創建子類的模板。看起來你會開始另一個活動,這比創建一個顯示另一個對話框更容易(在我的經驗中並不那麼容易)。

要在偏好資源xml文件您的喜好使用完全合格的名稱與一家領先的大寫字母。例如class Foopackage com.stackoverflow將顯示爲<Com.stackoverflow.Foo>。這與自定義視圖窗口小部件在xml佈局中的使用方式類似。

你必須做這種方式的原因是箭頭是一個內部的資源,所以我們不得不去一些極端使用內部資源。

+0

您好,我想你的建議在XML文件中與DialogPreference更換偏好,現在打開偏好活動時,應用程序崩潰。 11-18 15:20:33.886:ERROR/AndroidRuntime(563):java.lang.InstantiationException:致android.preference.DialogPreference – Victor

+0

對不起,得到的東西混合起來。您是否希望標準Google體驗向下箭頭,或者您是否希望系統使用向下箭頭(這將與「設置」應用程序相匹配)。我會根據你的想法更新原始答案。 –

+0

我想無論系統用於向下箭頭。 我感謝您的幫助! – Victor