0

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

我想更快地添加小部件,

所以我添加了一个菜单项:

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 对话框,

单击小部件后,

没发生什么事!!!

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

另一方面,

如果我单击 Menu->Add->Widget 并添加一个小部件,

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

然后一切正常。

多奇怪!!!

有谁知道它有什么问题吗??

4

1 回答 1

1

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

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

mAddItemCellInfo = mMenuAddInfo;
mWaitingForResult = true;
showAppWidgetList();
// your method
于 2011-06-20T01:58:43.153 回答