全碼:
RES/XML /的preferences.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Second Category">
<RingtonePreference
android:name="Ringtone Preference"
android:summary="Select a ringtone"
android:title="Ringtones"
android:key="ringtonePref" />
</PreferenceCategory>
</PreferenceScreen>
Preferences.class
public class Preferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
您的代碼去這裏:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.about:
// startActivity(new Intent(this, About.class));
return true;
case R.id.help:
startActivity(new Intent(this, Help.class));
return true;
case R.id.setting:
Intent settingsActivity = new Intent(getBaseContext(),
Preferences.class);
startActivity(settingsActivity);
return true;
default:
return super.onOptionsItemSelected(item);
}
要從代碼中讀取這些首選項,我們應該創建一個getPrefs()
方法,我們可以在onStart()
方法中調用該方法。當我們在onStart()
方法,而不是onCreate()
調用它,我們可以肯定的是,當我們將它們設置並返回到我們的主要活動喜好加載, 的getPrefs()
方法看起來是這樣的:
String ringtonePreference;
// Get the xml/preferences.xml preferences
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
ringtonePreference = prefs.getString("ringtonePref",
"DEFAULT_RINGTONE_URI");
androidmanifest .XML
<activity
android:name=".Preferences"
android:label="@string/set_preferences">
</activity>
mainfist中的第一個代碼?第二個代碼我應該把它放在newActivity中,我應該在菜單中調用newActivity?對?也是第二個代碼,它是完整的代碼重新嗎?還是我需要另一個代碼? – user1257040 2012-03-11 09:01:56
@ user1257040:您的preferneces.xml文件中的第一個代碼,以及您要訪問選定鈴聲的第二個代碼。 – 2012-03-11 09:13:53
它是完整的代碼?我的意思是不需要另一個代碼? – user1257040 2012-03-11 09:21:29