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()は、 [メニュー]->[追加]->[ウィジェット]をクリックしたときと同じことを行います。

次に、[ウィジェットアイテム]をクリックすると、PickWidgetダイアログが表示されます。

ウィジェットをクリックした後、

何も起こりません!!!

ウィジェットの構成または位置設定ダイアログは表示されません。

一方で、

[メニュー]->[追加]->[ウィジェット]をクリックしてウィジェットを追加すると、

次に、[メニュー]-> [マイウィジェットアイテム]をクリックして、ウィジェットを選択します。

その後、すべてが正常に動作します。

おかしいですね!!!

誰もがそれの何が問題なのか知っていますか?

4

1 に答える 1

1

Menu->Add->Widget前に何かshowAppWidgetList()を行うため、 の前に同じことを行う必要がありますshowAppWidgetList()

ソースコードを分析すると、ランチャーが次のことを行うことがわかります。

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