我的应用程序在多个平台上使用,因此它将首选项保存到文件中(而不是标准的Android SharedPreferences)。
是否有任何重复使用PreferenceActivity将首选项保存到文件的简单方法,还是创建一个全新的活动来完成这项工作?如果后者是这种情况,我可以使用哪种布局,使活动看起来像普通的首选项屏幕? PreferenceActivity使用com.android.internal.R.layout.preference_list_content,但这似乎不适用于应用程序以供重复使用。
答案 0 :(得分:4)
有没有重复使用的简单方法 PreferenceActivity保存首选项 到文件或是创建的情况 一项全新的活动来完成这项工作?
不是真的。我的意思是,您可以将SharedPreferences
子类化,将其删除,并将其映射到您自己的数据模型,但这对于可维护性而言远比仅仅使用SharedPreferences
更糟糕。< / p>
如果后者是这样的话就有了 布局,我可以使用,将使 活动看起来像正常 偏好屏幕?
这只是一个ListView
。这样做比很多花费更多时间而不是仅使用SharedPreferences
。
PreferenceActivity使用 com.android.internal.R.layout.preference_list_content 但这似乎不是 可供应用重复使用。
当然可以。如果您安装了SDK,它现在就在您的硬盘上。查看$ANDROID_HOME/platforms/$API/data/res/layout
,其中$ANDROID_HOME
是您拥有SDK的位置,$API
是某些API(例如android-2.1
)。
答案 1 :(得分:1)
您可以创建一个将SharedPreferences
中的数据导出到文件的函数。
答案 2 :(得分:0)
当用户点击首选项时,通常会将首选项保存到共享首选项中。添加代码以在onPreferenceTreeClick()函数上更新外部数据持有者。