2012-09-04 183 views
1

我的首選項屏幕選項未顯示,它顯示應用程序。意外停止..首選項屏幕選項未顯示

這是我Preference.java-

public class Prefs extends PreferenceActivity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.id.settings); 

} 

}

這是這是在項目選擇事件 -

爲優先 -

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > 
<CheckBoxPreference 
android:key="music" 
android:title="@string/music_title" 
android:summary="@string/music_summary" 
android:defaultValue="true"/> 
<CheckBoxPreference 
    android:defaultValue="true" 
    android:summary="@string/hints_summary" 
    android:title="@string/hints_title" 
    android:key="hints"/> 
</PreferenceScreen> 

的設置

public boolean onOptionsItemSelected(MenuItem item) { 
    if(item.getItemId()==R.id.settings) 
    { 
     startActivity(new Intent(this,Prefs.class)); 

     return true; 
    } 
    return false; 
} 

並且活動在清單文件中很好地註冊。

<activity 
     android:name=".Prefs" 
     android:label="@string/settings_title" > 

    </activity> 
+4

郵政logcat的痕跡隨處可見。 – Praveenkumar

回答

4
addPreferencesFromResource() 

方法應該加載包含偏好XML文件。 因此,在你的代碼替換

addPreferencesFromResource(R.id.settings) 

addPreferencesFromResource(R.xml.yourPreferenceSettingsFileHere) 

,將解決你的問題。

+0

非常感謝,工作...... – Tanvir

0

請替換addPreferencesFromResource(R.id.settings);addPreferencesFromResource(R.layout.settings);

其中settings是首選項xml。

而不是使用onOptionsItemSelected()
使用
onPreferenceTreeClick(PreferenceScreen preferenceScreen,優先偏好){

final String key = preference.getKey(); 

if(key.equal("music"){ 
    /ur implementaion 
    } 
}**