Dialog的自定义view无法获取到点击事件

来源:互联网 发布:mt4软件下载 编辑:程序博客网 时间:2024/05/16 12:40

今天在写一个ActionSheet的自定义控件时,突然发现无法获取到布局中的控件。

最初自己是通过LayoutInflater来获取layout中的view,但是点击的时候没有反应。

于是通过获取窗体的形式解决了问题。

                actionSheet = new Dialog(mContext, R.style.mydialog);                actionSheet.setContentView(R.layout.dialog_camera);                Window window = actionSheet.getWindow();                //window.setContentView(R.layout.dialog_camera);                btnUseAlbum = (Button)window.findViewById(R.id.btn_use_album);                btnUseCamera = (Button)window.findViewById(R.id.btn_use_camera);                LayoutParams layoutParams = actionSheet.getWindow().getAttributes();                layoutParams.gravity = Gravity.TOP;                layoutParams.width = LayoutParams.MATCH_PARENT;                actionSheet.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;                actionSheet.show();                btnUseCamera.setOnClickListener(new OnClickListener() {                                        @Override                    public void onClick(View v) {                        actionSheet.dismiss();                        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);                        startActivityForResult(cameraIntent, Const.CAMERA_REQUEST_CODE);                    }                });                btnUseAlbum.setOnClickListener(new OnClickListener() {                                        @Override                    public void onClick(View v) {                        actionSheet.dismiss();                        Intent albumIntent = new Intent(Intent.ACTION_GET_CONTENT);                        albumIntent.setType("image/*");                        startActivityForResult(albumIntent, Const.ALBUM_REQUEST_CODE);                    }                });            }        });

0 0
原创粉丝点击