无法添加AppWidget

发布于 2024-11-08 13:15:42 字数 902 浏览 0 评论 0原文

我正在编译 ADW 源代码。 (https://github.com/AnderWeb/android_packages_apps_Launcher/archives/b28e9e417c81857cfd2 e0265c3c6d409d6c8d0f1

我想要更快地添加小部件,

因此我添加了一个菜单项:

menu.add(MENU_GROUP_NORMAL, MENU_ADD_WIDGET, 0, R.string.menu_widget)
            .setIcon(android.R.drawable.ic_menu_compass);

以及单击时的相关操作:

case MENU_ADD_WIDGET:
    showAppWidgetList();
    return true;

showAppWidgetList() 与单击 Menu->Add->Widget 时执行相同的操作。

然后我单击“我的小部件项目”,然后显示 PickWidget 对话框,

单击小部件后,

没有任何反应!

不会出现小部件配置或位置设置对话框。

另一方面,

如果我单击“菜单”->“添加”->“小部件”并添加一个小部件,

然后单击“菜单”->“我的小部件项目”并选择一个小部件,

那么一切都会正常工作。

多么奇怪!

有人知道这是怎么回事吗?

I'm compiling ADW source code.
(https://github.com/AnderWeb/android_packages_apps_Launcher/archives/b28e9e417c81857cfd2e0265c3c6d409d6c8d0f1)

I wanna add widget more quickly,

so I add a menu item:

menu.add(MENU_GROUP_NORMAL, MENU_ADD_WIDGET, 0, R.string.menu_widget)
            .setIcon(android.R.drawable.ic_menu_compass);

and the relevant action when clicked:

case MENU_ADD_WIDGET:
    showAppWidgetList();
    return true;

the showAppWidgetList() does the same thing as when you click Menu->Add->Widget .

Then I click "my widget item" and the PickWidget dialog shows up,

after clicking a widget,

nothing happens!!!

No widget config or position setting dialog appears.

On the other hand,

if I click Menu->Add->Widget and add a widget,

then Menu->"my widget item" and pick a widget,

then everything works just fine.

How strange!!!

Anybody know what's wrong with it??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千柳 2024-11-15 13:15:42

这是因为 Menu->Add->Widget 在你的 showAppWidgetList() 之前做了一些事情,你需要在 showAppWidgetList() 之前做同样的事情>。

分析源码,可以发现Launcher做了以下事情:

mAddItemCellInfo = mMenuAddInfo;
mWaitingForResult = true;
showAppWidgetList();
// your method

It's because Menu->Add->Widget does something before your showAppWidgetList(), you need to do the same thing before showAppWidgetList().

Analyze the source code, you can find out that the Launcher does the following:

mAddItemCellInfo = mMenuAddInfo;
mWaitingForResult = true;
showAppWidgetList();
// your method
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文