1

My Preference Screen オプションが表示されず、shows-app になります。不意に止まった..

これは私の 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

2 に答える 2

4
addPreferencesFromResource() 

メソッドは、設定を含む XML ファイルをロードする必要があります。したがって、あなたのコードで置き換えます

addPreferencesFromResource(R.id.settings) 

addPreferencesFromResource(R.xml.yourPreferenceSettingsFileHere) 

それはあなたの問題を解決します。

于 2012-09-04T06:07:39.043 に答える
0

addPreferencesFromResource(R.id.settings);を置き換えてください。addPreferencesFromResource(R.layout.settings);を 使用

ここで、settings は設定 xml です。

onOptionsItemSelected()
を 使用する代わりに
onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference プリファレンス) {

 final String key = preference.getKey(); 

 if(key.equal("music"){
     /ur implementaion
     }
 }**
于 2012-10-19T06:19:14.340 に答える