android-在 AlertDialog 后调用新的 intent

问题描述

在 AlertDialog 后调用新的 intent

我想添加 AlertDialog 来重新命名,下面的代码:

Button b = (Button)findViewById(R.id.btn);
b.setOnClickListener(
    new OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder renameDialog = new AlertDialog.Builder(AActivity.this);
            renameDialog.setTitle("Rename");
            final EditText newName = new EditText(AActivity.this);
            newName.setText(FilePath[i]);
            renameDialog.setView(newName);
            renameDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface arg0, int arg1) {
                }
            });

            renameDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface arg0, int arg1) {
                }
            });

            renameDialog.show();
        }
    }

    Intent it = new Intent(AActivity.this, BActivity.class);
    it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(it);
    }
});

但是发生错误:

Activity AActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@2b0278a8 that was originally added here

这是由于新的 intent 开启,旧的 intent 暂停造成的,如何避免这个问题呢?

解决方案

在Activity的Destory得销毁Dialog 例如:

public void onDestory() {
 if(dialog!= null) {
dialog.dismiss();
dialog = null;
}
}

不然就会出现你这个错误了

还有你这个跳转,不是在Dialog的onCLick做处理吗? 应该是获取Dialog中的原密码 新密码什么的判断后跳转的吧
Intent it = new Intent(AActivity.this, BActivity.class);
it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(it);

解决方案二:

Intent it = new Intent(AActivity.this, BActivity.class);
it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(it);

这段代码为何放在onClickListener中?

解决方案三:

你的代码括号都不匹配,能编译通过吗?

时间: 2024-09-16 08:41:55

android-在 AlertDialog 后调用新的 intent的相关文章

android调用系统拍照程序和从图库选取图片,返回后调用系统裁剪工具

调用系统拍照 Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File myImageDir = new File(TEMP_TAKE_PHOTO_FILE_PATH); //创建图片保存目录if (!myImageDir.exists()) {Mylog.d(THIS, "Create the path:" + TEMP_TAKE_PHOTO_FILE_PATH);myImageDir.mkdirs();} //根据时间

界面-android 禁止viewpager后的调用

问题描述 android 禁止viewpager后的调用 我写了一个viewpager的禁用,要放到viewpager布局界面的那个类才可以实现,我现在想 在B界面调用那个禁用方法,始终报错. 解决方案 android 禁止ViewPager滑动[Android UI]ViewPager禁止滚动Android禁止ViewPager的左右滑动 解决方案二: 给这个对象加一个public的方法,你通过findViewbyid找到它,就可以通过这个实例调用了,就跟普通的textview,imagevi

共享库-编译安装gcc后,新的gcc仍调用原有gcc的动态库,怎么解决?

问题描述 编译安装gcc后,新的gcc仍调用原有gcc的动态库,怎么解决? 您好,我在linux系统(自带有gcc)的机器上下载了gcc源码,编译并安装成功,安装路径区别于系统自带安装的gcc路径,新的gcc可以正常编译我写的测试程序,但是,我用ldd hello.out发现hello.out调用的还是原来的.so共享库,没使用新安装的gcc库,我配置了LD_LIBRARY_PATH变量为新gcc路径,但使用ldd hello.out发现还是调用原有gcc so库文件,怎样使新安装的gcc调用自

android相机拍照后上传到指定文件夹,opencv是通过调用文件夹里图片进行处理的吗?

问题描述 android相机拍照后上传到指定文件夹,opencv是通过调用文件夹里图片进行处理的吗? 现在有一个Android拍照上传到指定文件夹的程序和一个opencv图像匹配的程序,能否通过修改某些语句和配置环境可以将两者结合?如果可以求大神赐教!(opencv是在文件夹选取图片进行匹配的.) 解决方案 可以直接调用文件夹里的图片处理,配置的话把路径配置成相对路径就可以了

android开发,小米相机调用,拍照后没有裁剪直接返回原来的actvity

问题描述 android开发,小米相机调用,拍照后没有裁剪直接返回原来的actvity android开发,小米相机调用,拍照后没有裁剪直接返回原来的actvity,在其他手机上测试没有这个bug 解决方案 拍完照,然后调用一个自己写的裁剪方法, 解决方案二: 返回来的不是图片路劲,是图片编码.你需要解析这个编码为图片路劲才能正常返回. 看这篇,分析和解决办法都有,我亲自试了.http://blog.csdn.net/chensong_5260/article/details/51104070

Android对话框AlertDialog.Builder使用方法详解_Android

我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框.当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢? 幸运的是,an

Android Activity之间相互调用与传递参数的原理与用法分析_Android

本文实例讲述了Android Activity之间的相互调用与传递参数.分享给大家供大家参考,具体如下: Activity之间是如何调用的 在javaWeb程序中,jsp与jsp之间的调用是通过重定向完成的,而在Android中,Activity与Activity之间的切换是通过Intent来完成的. 所谓Intent,它是Android中非常重要的内置组件,他可以理解为"我要干一件什么事情".在Android中有3大组件:Activity,Service.Broadcast,他们之间

android基础总结篇之九:Intent应用详解_Android

今天我们来讲一下Android中Intent的原理和应用. 前面我们总结了几个Android中重要组件,相信大家对于这些组件已经有了清晰的认识,我们就来看一下几个常见的操作: 启动一个Activity:Context.startActivity(Intent intent); 启动一个Service:Context.startService(Intent service); 绑定一个Service:Context.bindService(Intent service, ServiceConnec

Android Activity之间相互调用与传递参数的原理与用法分析

本文实例讲述了Android Activity之间的相互调用与传递参数.分享给大家供大家参考,具体如下: Activity之间是如何调用的 在javaWeb程序中,jsp与jsp之间的调用是通过重定向完成的,而在Android中,Activity与Activity之间的切换是通过Intent来完成的. 所谓Intent,它是Android中非常重要的内置组件,他可以理解为"我要干一件什么事情".在Android中有3大组件:Activity,Service.Broadcast,他们之间