首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android 点击TabHost选显卡弹出PopupWindow时报错!解决办法

2013-09-07 
android 点击TabHost选显卡弹出PopupWindow时报错!如上图,当我点击更多时会弹出一个PopupWindow,可是总是

android 点击TabHost选显卡弹出PopupWindow时报错!
android 点击TabHost选显卡弹出PopupWindow时报错!解决办法
如上图,当我点击更多时会弹出一个PopupWindow,可是总是报错,错误信息如下:

05-02 03:13:22.999: E/AndroidRuntime(1404): FATAL EXCEPTION: main
05-02 03:13:22.999: E/AndroidRuntime(1404): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.view.ViewGroup.addViewInner(ViewGroup.java:1970)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.view.ViewGroup.addView(ViewGroup.java:1865)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.view.ViewGroup.addView(ViewGroup.java:1845)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.widget.PopupWindow.preparePopup(PopupWindow.java:808)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:681)
05-02 03:13:22.999: E/AndroidRuntime(1404): at com.shuangchi.activity.MainActivity.openPopupWindow(MainActivity.java:209)
05-02 03:13:22.999: E/AndroidRuntime(1404): at com.shuangchi.activity.MainActivity.access$1(MainActivity.java:207)
05-02 03:13:22.999: E/AndroidRuntime(1404): at com.shuangchi.activity.MainActivity$1.onClick(MainActivity.java:88)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.view.View.performClick(View.java:2408)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.view.View$PerformClick.run(View.java:8816)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.os.Handler.handleCallback(Handler.java:587)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.os.Handler.dispatchMessage(Handler.java:92)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.os.Looper.loop(Looper.java:123)
05-02 03:13:22.999: E/AndroidRuntime(1404): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-02 03:13:22.999: E/AndroidRuntime(1404): at java.lang.reflect.Method.invokeNative(Native Method)
05-02 03:13:22.999: E/AndroidRuntime(1404): at java.lang.reflect.Method.invoke(Method.java:521)
05-02 03:13:22.999: E/AndroidRuntime(1404): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-02 03:13:22.999: E/AndroidRuntime(1404): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-02 03:13:22.999: E/AndroidRuntime(1404): at dalvik.system.NativeStart.main(Native Method)

代码如下:


[解决办法]
viewgroup先removeallchilds,再添加child就可以了。错误是那个child已经有一个parent了,再给他一个parent就会报错。
[解决办法]
 popupWindow = new PopupWindow(view, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, true);
    popupWindow.setBackgroundDrawable(new BitmapDrawable());

热点排行