gpt4 book ai didi

安卓偏好

转载 作者:太空狗 更新时间:2023-10-29 16:24:30 25 4
gpt4 key购买 nike

我正在我的 Android 应用程序中制作备份和恢复选项。然后你打开首选项我想要一个按钮来备份和一个按钮来恢复。我在我的 xml/preference.xml 文件中制作按钮是这样的:

<PreferenceCategory android:title="Backup">
<Preference
android:key="backup"
android:title="Backup"
android:summary="Make a backup of shows"
/>
<Preference
android:key="restore"
android:title="Restore"
android:summary="Restore shows from backup"
/>
</PreferenceCategory>

我的偏好类实现了 OnSharedPreferenceChangeListener,并将 getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); 添加到 onResume()getPreferenceScreen( ).getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);OnPause()

我实现了 onSharedPreferenceChanged:

  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
// Let's do something when my counter preference value changes
if (key.equals("backup")) {
Toast.makeText(this, "Backup button pressed", Toast.LENGTH_SHORT).show();
} else if (key.equals("restore")) {
Toast.makeText(this, "Restore button pressed", Toast.LENGTH_SHORT).show();
}
}

但是没有显示 toast 然后我按下其中一个按钮。我在 CheckBoxPreference 上工作正常,但我只需要一个按钮,而不是复选框。谁能帮忙?

最佳答案

如果它只是一个简单的按钮,则没有可以更改的首选项,因此在这种情况下不会调用您的 onSharedPreferenceChanged

改为使用 OnClick 监听器:

OnPreferenceClickListener btnListener = new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
final String key = preference.getKey();

if (key.equals("backup")) {
// show toast
return true; // we handled the click
}
return false; // we didn't handle the click
}
};

Preference prefBtn = findPreference("backup");
prefBtn.setOnPreferenceClickListener(btnListener);

关于安卓偏好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5550639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com