2010-11-15 76 views
1

自定義首選活動需要定義列表嗎?自定義首選活動是否需要定義列表

如果我不定義列表與我的自定義PreferenceActivity有關我的內容的一部分,我得到以下的RuntimeException:

您的內容必須有一個ListView 其id屬性是 「android.R .id.list」

我試圖創建一個自定義PreferenceActivity顯示兩個列表:

  1. 一個列表,增加了選擇到其他列表
  2. 一個列表,允許用戶向上或向下移動項目,或將其刪除(可能與上下文菜單)

什麼是「優選」的方式這樣做?

感謝, WTS

回答

2

PreferenceActivity擴展ListActivity,所以我認爲它需要一個列表。

當我不明白的事情我的首選方式是使用Source®:PreferenceActivity

編輯:

我會採取這種做法:

  1. 複製PreferenceActivity到一個新的班級。

  2. 爲您的活動創建自己的佈局(看看ListActivity docs)。向它添加第二個ListView。

  3. 確保所有工作原始PreferenceActivity。

  4. 開始爲第二個ListView添加代碼。

2

問題ü可能使用從XML文件加載的設置和使用

的setContentView(layoutId); ...

use:addPreferencesFromResource(layoutId);改爲 。

您可以跳過'Peter Knego'所描述的步驟,並且可以直接使用首選項而無需添加列表視圖。

0

您可以添加偏好您PreferenceScreen使用語句添加它多次

public void onCreate(Bundle savedInstanceState) { 

    addPreferencesFromResource(R.xml.preferences); 
    PreferenceScreen preference; 
    preferenceScreen = getPreferenceScreen(); 
    PreferenceScreen new_preference = new Preference(this); 
    new_preference.setKey("unique_key"); 
    new_preference.setTitle("new_title"); 
    preferenceSreen.addPreference(new_preference); 
}