Android-弹出窗口崩溃

Android-弹出窗口崩溃,android,android-layout,popupwindow,Android,Android Layout,Popupwindow,在stackoverflow社区中搜索了许多解决方案,但没有一个解决我的问题:我在Main.java活动中有一个按钮,当单击按钮时,弹出菜单不显示,整个应用程序崩溃 这是我的代码: Button _buyurtmaYaratish = (Button) findViewById(R.id.btn_buyurtma_berish); _buyurtmaYaratish.setOnClickListener(new View.OnClickListener() { @Ove

在stackoverflow社区中搜索了许多解决方案,但没有一个解决我的问题:我在
Main.java
活动中有一个
按钮,当单击
按钮时,弹出菜单不显示,整个应用程序崩溃

这是我的代码:

 Button _buyurtmaYaratish = (Button) findViewById(R.id.btn_buyurtma_berish);
    _buyurtmaYaratish.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LayoutInflater layoutInflater = (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
            View popupView = layoutInflater.inflate(R.layout.popup_menu, null);
            final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

Button btnPopup = (Button) findViewById(R.id.btn_popup);
                btnPopup.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        popupWindow.dismiss();
                    }
                });
                popupWindow.showAsDropDown(btnPopup, 50, -30);
            }
        });
<RelativeLayout.......

<Button
        android:id="@+id/btn_buyurtma_berish"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:text="@string/buyurtma_berish"
        android:background="@drawable/button_kirish"
        android:textSize="18sp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:textColor="@color/white"
        android:layout_below="@+id/edtx_summa_miqdori"/>

</RelativeLayout>
 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rl"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center">
    <TextView
        android:id="@+id/txt_kk_mas_popup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/aloqaga_chiqamiz"
        android:layout_centerHorizontal="true"
        android:textSize="18sp"
        android:layout_marginTop="30dp"
        android:textColor="@color/black"/>
    <Button
        android:layout_width="280dp"
        android:layout_height="wrap_content"
        android:background="@drawable/button_kirish"
        android:text="@string/tasdiqlash"
        android:textColor="@color/white"
        android:textSize="19sp"
        android:id="@+id/btn_popup"
        android:layout_below="@+id/txt_kk_mas_popup"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="25dp" />
   </RelativeLayout>
Button btnPopup = (Button) popupView.findViewById(R.id.btn_popup);
Button btnPopup = (Button) findViewById(R.id.btn_popup);
My Main.xml代码:

 Button _buyurtmaYaratish = (Button) findViewById(R.id.btn_buyurtma_berish);
    _buyurtmaYaratish.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LayoutInflater layoutInflater = (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
            View popupView = layoutInflater.inflate(R.layout.popup_menu, null);
            final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

Button btnPopup = (Button) findViewById(R.id.btn_popup);
                btnPopup.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        popupWindow.dismiss();
                    }
                });
                popupWindow.showAsDropDown(btnPopup, 50, -30);
            }
        });
<RelativeLayout.......

<Button
        android:id="@+id/btn_buyurtma_berish"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:text="@string/buyurtma_berish"
        android:background="@drawable/button_kirish"
        android:textSize="18sp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:textColor="@color/white"
        android:layout_below="@+id/edtx_summa_miqdori"/>

</RelativeLayout>
 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rl"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center">
    <TextView
        android:id="@+id/txt_kk_mas_popup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/aloqaga_chiqamiz"
        android:layout_centerHorizontal="true"
        android:textSize="18sp"
        android:layout_marginTop="30dp"
        android:textColor="@color/black"/>
    <Button
        android:layout_width="280dp"
        android:layout_height="wrap_content"
        android:background="@drawable/button_kirish"
        android:text="@string/tasdiqlash"
        android:textColor="@color/white"
        android:textSize="19sp"
        android:id="@+id/btn_popup"
        android:layout_below="@+id/txt_kk_mas_popup"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="25dp" />
   </RelativeLayout>
Button btnPopup = (Button) popupView.findViewById(R.id.btn_popup);
Button btnPopup = (Button) findViewById(R.id.btn_popup);

当我尝试单击
按钮时,此图标在日志猫中以红色突出显示
更改此图标时:->
按钮btnPopup=(按钮)findviewbyd(R.id.btn\u弹出窗口)

使用此按钮:->
按钮btnPopup=(按钮)popupView.findViewById(R.id.btn_弹出窗口)在您的代码中

如以下代码所示

     Button _buyurtmaYaratish = (Button) findViewById(R.id.btn_buyurtma_berish);
    _buyurtmaYaratish.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LayoutInflater layoutInflater = (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
            View popupView = layoutInflater.inflate(R.layout.popup_menu, null);
            final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

Button btnPopup = (Button) popupView.findViewById(R.id.btn_popup);
                btnPopup.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        popupWindow.dismiss();
                    }
                });
                popupWindow.showAsDropDown(btnPopup, 50, -30);
            }
        });

我认为你在这里犯了错误:

Button btnPopup = (Button) findViewById(R.id.btn_popup);
更改如下:

Button btnPopup = (Button) popupView.findViewById(R.id.btn_popup);

使用
按钮btnPopup=(按钮)popupView.findViewById(R.id.btn\u弹出窗口)
而不是
按钮btnPopup=(按钮)findViewById(R.id.btn\u弹出窗口)
作为使用以下命令:

 Button _buyurtmaYaratish = (Button) findViewById(R.id.btn_buyurtma_berish);
    _buyurtmaYaratish.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LayoutInflater layoutInflater = (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
            View popupView = layoutInflater.inflate(R.layout.popup_menu, null);
            final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

Button btnPopup = (Button) findViewById(R.id.btn_popup);
                btnPopup.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        popupWindow.dismiss();
                    }
                });
                popupWindow.showAsDropDown(btnPopup, 50, -30);
            }
        });
<RelativeLayout.......

<Button
        android:id="@+id/btn_buyurtma_berish"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:text="@string/buyurtma_berish"
        android:background="@drawable/button_kirish"
        android:textSize="18sp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:textColor="@color/white"
        android:layout_below="@+id/edtx_summa_miqdori"/>

</RelativeLayout>
 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rl"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center">
    <TextView
        android:id="@+id/txt_kk_mas_popup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/aloqaga_chiqamiz"
        android:layout_centerHorizontal="true"
        android:textSize="18sp"
        android:layout_marginTop="30dp"
        android:textColor="@color/black"/>
    <Button
        android:layout_width="280dp"
        android:layout_height="wrap_content"
        android:background="@drawable/button_kirish"
        android:text="@string/tasdiqlash"
        android:textColor="@color/white"
        android:textSize="19sp"
        android:id="@+id/btn_popup"
        android:layout_below="@+id/txt_kk_mas_popup"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="25dp" />
   </RelativeLayout>
Button btnPopup = (Button) popupView.findViewById(R.id.btn_popup);
Button btnPopup = (Button) findViewById(R.id.btn_popup);
而不是这个:

 Button _buyurtmaYaratish = (Button) findViewById(R.id.btn_buyurtma_berish);
    _buyurtmaYaratish.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LayoutInflater layoutInflater = (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
            View popupView = layoutInflater.inflate(R.layout.popup_menu, null);
            final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

Button btnPopup = (Button) findViewById(R.id.btn_popup);
                btnPopup.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        popupWindow.dismiss();
                    }
                });
                popupWindow.showAsDropDown(btnPopup, 50, -30);
            }
        });
<RelativeLayout.......

<Button
        android:id="@+id/btn_buyurtma_berish"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:text="@string/buyurtma_berish"
        android:background="@drawable/button_kirish"
        android:textSize="18sp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:textColor="@color/white"
        android:layout_below="@+id/edtx_summa_miqdori"/>

</RelativeLayout>
 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rl"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center">
    <TextView
        android:id="@+id/txt_kk_mas_popup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/aloqaga_chiqamiz"
        android:layout_centerHorizontal="true"
        android:textSize="18sp"
        android:layout_marginTop="30dp"
        android:textColor="@color/black"/>
    <Button
        android:layout_width="280dp"
        android:layout_height="wrap_content"
        android:background="@drawable/button_kirish"
        android:text="@string/tasdiqlash"
        android:textColor="@color/white"
        android:textSize="19sp"
        android:id="@+id/btn_popup"
        android:layout_below="@+id/txt_kk_mas_popup"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="25dp" />
   </RelativeLayout>
Button btnPopup = (Button) popupView.findViewById(R.id.btn_popup);
Button btnPopup = (Button) findViewById(R.id.btn_popup);

不要使用弹出窗口,最好使用AlertDialog,它不仅易于构建,而且可以获得类似的背景效果。更灵活地移动/更改并顺利工作

与问题共享您的崩溃日志您能在堆栈跟踪中发布您遇到的错误吗?该死,我犯了这么容易的错误。现在它开始工作了!感谢有时会发生:-)工作。thanxsi肯定会的,7分钟后allowed@ZafarKurbonov检查这个链接@ZafarKurbonov,这个也是@ZafarKurbonov,也检查这个ans