Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:WindowManager﹕;android.view.windows:活动_Android - Fatal编程技术网

Android:WindowManager﹕;android.view.windows:活动

Android:WindowManager﹕;android.view.windows:活动,android,Android,我正在尝试用一些按钮实现弹出窗口。我得到了E/WindowManager的错误﹕ android.view.WindowLeaked:Activity,同时单击按钮打开弹出窗口。这是我的活动代码。此行的错误=pwindo.showAtLocation(布局,Gravity.BOTTOM,0,0) private void initiatePopupWindow() { try { LayoutInflater inflater =

我正在尝试用一些按钮实现弹出窗口。我得到了E/WindowManager的错误﹕ android.view.WindowLeaked:Activity,同时单击按钮打开弹出窗口。这是我的活动代码。此行的错误=pwindo.showAtLocation(布局,Gravity.BOTTOM,0,0)

private void initiatePopupWindow()
    {
        try
        {
            LayoutInflater inflater = (LayoutInflater) AddPost.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View layout = inflater.inflate(R.layout.camera_popup, (ViewGroup) findViewById(R.id.popup_element));
            pwindo = new PopupWindow(layout, 700, 380, true);
            pwindo.showAtLocation(layout, Gravity.BOTTOM, 0, 0);
            pwindo.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

            btnCamera = (Button) layout.findViewById(R.id.button_Camera);
            btnCamera.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                    startActivityForResult(cameraIntent, CAMERA_REQUEST);
                }
            });

            btnGallery = (Button) layout.findViewById(R.id.button_Gallery);
            btnGallery.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    startActivityForResult(galleryIntent, RESULT_LOAD_IMG);

                   }
            });

            cancelPopUp = (Button) layout.findViewById(R.id.btnCancelCamera);
            cancelPopUp.setOnClickListener(cancel_button_click_listener);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
这是我的日志猫错误

10-30 09:56:35.860    6582-6582/? E/WindowManager﹕ android.view.WindowLeaked: Activity com.example.tazeen.classnkk.AddPost has leaked window android.widget.LinearLayout{1cc3bcc6 V.E..... ........ 0,0-700,380 #7f0c0093 app:id/popup_element} that was originally added here
            at android.view.ViewRootImpl.<init>(ViewRootImpl.java:363)
            at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:261)
            at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
            at android.widget.PopupWindow.invokePopup(PopupWindow.java:1058)
            at android.widget.PopupWindow.showAtLocation(PopupWindow.java:887)
            at android.widget.PopupWindow.showAtLocation(PopupWindow.java:851)
            at com.example.tazeen.classnkk.AddPost.initiatePopupWindow(AddPost.java:532)
            at com.example.tazeen.classnkk.AddPost.access$000(AddPost.java:80)
            at com.example.tazeen.classnkk.AddPost$5.onClick(AddPost.java:310)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19748)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
10-30 09:56:35.860 6582-6582/?E/WindowManager﹕ android.view.WindowLeaked:Activity com.example.tazeen.classnkk.AddPost泄漏了最初添加到此处的窗口android.widget.LinearLayout{1cc3bcc6 V.E….....0-700380#7f0c0093 app:id/popup_element}
在android.view.ViewRootImpl。(ViewRootImpl.java:363)
在android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:261)
在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
在android.widget.popuwWindow.invokePopup(popuwWindow.java:1058)上
位于android.widget.PopupWindow.showAtLocation(PopupWindow.java:887)
位于android.widget.PopupWindow.showAtLocation(PopupWindow.java:851)
在com.example.tazeen.classnkk.AddPost.initiatePopupWindow(AddPost.java:532)上
在com.example.tazeen.classnkk.AddPost.access$000(AddPost.java:80)
位于com.example.tazeen.classnkk.AddPost$5.onClick(AddPost.java:310)
在android.view.view.performClick上(view.java:4756)
在android.view.view$PerformClick.run(view.java:19748)
位于android.os.Handler.handleCallback(Handler.java:739)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:135)
位于android.app.ActivityThread.main(ActivityThread.java:5254)
位于java.lang.reflect.Method.invoke(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:372)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
put Onclick事件中的pwindo.disclose()


请参阅下面的帮助链接:

使用下面的代码并将弹出窗口放置在所需位置

 protected void SortPopup(final Activity context) {//pass your activity
       Point p;
       int popupWidth = 190;
       int popupHeight = 200;

       // Inflate the popup_layout.xml
       LinearLayout viewGroup = (LinearLayout) context.findViewById(R.id.sortbyview);
       LayoutInflater layoutInflater = (LayoutInflater) context
         .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
       View layout = layoutInflater.inflate(R.layout.sorting_popup, viewGroup);
       // Creating the PopupWindow
       final PopupWindow popup = new PopupWindow(context);
       popup.setContentView(layout);
       popup.setWidth(popupWidth);
       popup.setHeight(popupHeight);
       popup.setFocusable(true);
       // Some offset to align the pop up a bit to the right, and a bit down, relative to button's position.
       int OFFSET_X = -115;
       int OFFSET_Y = 50;
       // Clear the default translucent background
       popup.setBackgroundDrawable(new BitmapDrawable());
       // Displaying the pop up at the specified location, + offsets.
       popup.showAtLocation(layout, Gravity.NO_GRAVITY, p.x + OFFSET_X, p.y + OFFSET_Y);
       Button b1 = (Button) layout.findViewById(R.id.b1);
       Button b2 = (Button) layout.findViewById(R.id.b2);

        b1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {

            }
        });
        b2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

            }
        });
}

发布您的按钮单击代码pleas.holder.imgBtn_Camera.setOnClickListener(新视图.OnClickListener(){@Override public void onClick(视图v){string_ActivityId=all_post.getStrActivityId();initiatePopupWindow();});这是我的按钮点击事件,我正在填充弹出窗口