开发者

Using PreferenceScreen/PreferenceActivity to configure home screen widgets

I'm creating an appwidget, where the user should be able to configure it before it is added to the home screen. To me, PreferenceScreen/PreferenceActivity seems perfect for the task, but the intention behind these classes seem to be configuring开发者_如何学编程 an actual application. I've searched, but cannot find any documentation or tutorials which covers this question.

Is it possible to configure a widget using these classes, or is the only alternative to configure it through an ordinary view?

Thanks for any answers!


You certainly can use a PreferenceActivity for this purpose. If you set it up as the android:configure activity in your widget configuration, though, you will have to do a bit of fancy footwork to then get your widget updated.


commonsWare: https://github.com/commonsguy/cw-advandroid/blob/master/AppWidget/LoremWidget/res/xml/widget_provider.xml your example does not use a config-activity at all and thus certainly no PreferencesActivity.

As far as PreferencesActivities go, it does NOT work to setResult(RESULT_CANCELED); in onCreate(9 and then setResult(...) in onBackPressed. There are wired NullPointerExceptions deep in Launcher.java (line 88X). However it does work do Provider.updateAppWidget() and setResult(RESULT_OK, resultValue); in onCreate and then handle further updates in onBackPressed.

The following snipped may help too:

onCreate() {
CheckBoxPreference dark = (CheckBoxPreference)findPreference("xyz");
dark.setChecked(false);
...
onBackPressed() {
CheckBoxPreference dark = (CheckBoxPreference)findPreference("xyz");
boolean checked = dark.isChecked();

...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜