1

如何从 PreferenceActivity 更改音量?我有这个xml:

<RingtonePreference
        android:name="Ringtone Preference"
        android:summary="Select a ringtone"
        android:title="Ringtones"
        android:key="ringtonePref" />
<VolumePreference
    android:name="Volume Preference"
    android:summary="Ringtone Volume"
    android:title="Ringtone Volume"
    android:key="ringVolPref"/>

</PreferenceCategory>

并且该类扩展了 PreferenceActivity:

public class SettingTest extends PreferenceActivity {

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.layout.ringtone);

我不知道如何更改音量(如果我运行应用程序,它会显示 Volume SeekBar,但不会保存更改)

4

2 回答 2

0

Maybe try this:

@Override
protected void onStart() {
    addPreferencesFromResource(R.xml.settings);
    super.onStart();
}

Remove android:name from xml, preference xml should look like this.

于 2012-05-17T10:29:10.057 回答
0

[VolumePreference][1]实际上隐藏在 API 中,因此您可能不应该使用它。当我使用这段代码时,实际存储的是值;它记住了 上的位置SeekBar。自然,该值不会保存在应用程序的首选项文件中,因为设置应该应用于系统,而不是应用程序......

但是,即使它似乎正确地记住了位置,音量实际上并没有受到影响。您可能想看看设置应用程序是如何做到的:

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.0.4_r1.2/com/android/settings/RingerVolumePreference.java#56

于 2012-08-02T05:33:46.923 回答