Android中如何关闭数组适配器类中的弹出窗口
我正在创建弹出窗口并在ListView项目单击事件上打开弹出窗口。弹出窗口中有两个按钮,一个是btnCamera,另一个是btnDismiss。问题是当我捕获图像并返回到ListView时,弹出窗口不会自动取消。我尝试在Resume()上取消弹出窗口活动中的方法Android中如何关闭数组适配器类中的弹出窗口,android,Android,我正在创建弹出窗口并在ListView项目单击事件上打开弹出窗口。弹出窗口中有两个按钮,一个是btnCamera,另一个是btnDismiss。问题是当我捕获图像并返回到ListView时,弹出窗口不会自动取消。我尝试在Resume()上取消弹出窗口活动中的方法 @Override protected void onResume() { super.onResume(); if(adapter.popupWindow_Camera != null) {
@Override
protected void onResume() {
super.onResume();
if(adapter.popupWindow_Camera != null)
{
adapter.popupWindow_Camera.dismiss();
adapter.popupWindow_Camera = null;
}
}
这是我的ListView项目点击弹出窗口
holder.imgBtn_Camera.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.camera_popup, (ViewGroup) ((Activity) context).findViewById(R.id.popup_element));
popupWindow_Camera = new PopupWindow(popupView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
popupWindow_Camera.setWidth(720);
popupWindow_Camera.setHeight(350);
popupWindow_Camera.setFocusable(true);
popupWindow_Camera.showAtLocation(popupView, Gravity.BOTTOM, 0, 87);
popupWindow_Camera.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
Button btnCamera = (Button) popupView.findViewById(R.id.button_Camera);
Button btnGallery = (Button) popupView.findViewById(R.id.button_Gallery);
Button btnDismiss = (Button) popupView.findViewById(R.id.btnCancelCamera);
btnCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
String extr = Environment.getExternalStorageDirectory().toString() + File.separator + "classnkk_images";
File myPath = new File(extr, picformat);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(myPath));
((Activity) context).startActivityForResult(cameraIntent, CAMERA_REQUEST);
Log.e("Camera", " Open");
popupWindow_Camera.dismiss();
}
});
btnDismiss.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
popupWindow_Camera.dismiss();
}
});
popupWindow_Camera.showAsDropDown(holder.imgBtn_Camera, 50, -30);
}
});
有人能帮我解决这个问题吗。谢谢。//当您打算使用StartActivityResult()时,在完成相机操作后,将调用ActivityResult()方法。。。因此,您应该在onResultActivity()中尝试此“popupWindow\u Camera.Disclose();”。在单击按钮Camera时,您应该关闭弹出窗口您是否在其他活动中捕获图像,然后使用列表视图返回活动?如果是,然后你应该考虑<代码> StistActuvion结果<代码>,并在方法>代码> > OnActuviyRESUL/<代码>中获取捕获结果。在列表视图中,VISHY问题是在捕获图像并返回到ListVIEW活动后,如何自动解开弹出窗口。并且我已经完成了从相机获取图像的操作。@ Vivek Mishra:I尝试关闭相机按钮上的弹出窗口。但应用程序问题立即关闭并打开,弹出窗口关闭。您是否在调用camera intent后尝试关闭弹出窗口?请参阅我编辑的帖子。在camera按钮中,我尝试关闭弹出窗口。您是否调用了onActivityResult(){}是,但我调用了onActivityResult(){}在主活动中,我已经创建了AllPostAdapter类,它是一个单独的类;我没有找到任何取消();popupwindow的方法。