menuoptions から popupdialogue を表示しようとしています。コードは -
public void createNewList(){
popupCreateList = new PopupWindow(popupCreateListView,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
popupCreateList.setBackgroundDrawable(new BitmapDrawable());
popupCreateList.setOutsideTouchable(true);
Log.i(TAG,"popUpListView-->>>" + popUpListView.getParent());
//((ViewGroup)popUpListView.getParent()).removeView(popUpListView); <--Commented
popupCreateList.showAtLocation(findViewById(R.id.layoutTaskManagerID), Gravity.CENTER, 0, 0); <-- ERROR
//popupCreateList.showAsDropDown(listsButton, 50, -30);
}
実行しようとするたびに、次のlogcatエラーが発生しました-
12-30 14:43:00.735: E/AndroidRuntime(1385): FATAL EXCEPTION: main
12-30 14:43:00.735: E/AndroidRuntime(1385): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.view.ViewGroup.addViewInner(ViewGroup.java:3378)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.view.ViewGroup.addView(ViewGroup.java:3249)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.view.ViewGroup.addView(ViewGroup.java:3225)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.widget.PopupWindow.preparePopup(PopupWindow.java:965)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:836)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:809)
12-30 14:43:00.735: E/AndroidRuntime(1385): at ray.kaushik.simple.task.manager.TaskManagerActivity.createNewList(TaskManagerActivity.java:340)
12-30 14:43:00.735: E/AndroidRuntime(1385): at ray.kaushik.simple.task.manager.TaskManagerActivity.onMenuItemSelected(TaskManagerActivity.java:324)
12-30 14:43:00.735: E/AndroidRuntime(1385): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:958)
12-30 14:43:00.735: E/AndroidRuntime(1385): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
12-30 14:43:00.735: E/AndroidRuntime(1385): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
12-30 14:43:00.735: E/AndroidRuntime(1385): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
12-30 14:43:00.735: E/AndroidRuntime(1385): at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:468)
12-30 14:43:00.735: E/AndroidRuntime(1385): at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:126)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.view.View$PerformClick.run(View.java:16966)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.os.Handler.handleCallback(Handler.java:615)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.os.Handler.dispatchMessage(Handler.java:92)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.os.Looper.loop(Looper.java:137)
12-30 14:43:00.735: E/AndroidRuntime(1385): at android.app.ActivityThread.main(ActivityThread.java:4745)
12-30 14:43:00.735: E/AndroidRuntime(1385): at java.lang.reflect.Method.invokeNative(Native Method)
12-30 14:43:00.735: E/AndroidRuntime(1385): at java.lang.reflect.Method.invoke(Method.java:511)
12-30 14:43:00.735: E/AndroidRuntime(1385): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
12-30 14:43:00.735: E/AndroidRuntime(1385): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-30 14:43:00.735: E/AndroidRuntime(1385): at dalvik.system.NativeStart.main(Native Method)
2 回目にクリックしようとすると、このエラーが発生します。ビューを削除するためにコメント行のコメントを外しても、同じままです。dumone plz がこの理由を教えてくれますか? Android 開発は初めてなので、詳しく教えてください。同じことについて何かアイデアはありますか?事前に感謝します。
レイ