如何关闭自定义AlertDialog-Android开发问答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何关闭自定义AlertDialog-Android开发问答相关的知识,希望对你有一定的参考价值。

AlertDialog是用AlertDialog.Builder构建的,可以设置标题以及确定和取消按钮,并为按钮绑定点击监听,还可以从xml文件inflate出中间的提示内容,具体有哪些方法你可以去查官方文档,希望我的回答对你有所帮助,如果满意请设置为最佳答案,谢谢 参考技术A AlertDialog没有关闭的方法,只可以转化成Dialog才能关闭 参考技术B 调用dissmis方法即可。

如何使用 FxCop 自定义规则验证 DataReader 是不是实际关闭?

【中文标题】如何使用 FxCop 自定义规则验证 DataReader 是不是实际关闭?【英文标题】:How to validate DataReader is actually closed using FxCop custom rule?如何使用 FxCop 自定义规则验证 DataReader 是否实际关闭? 【发布时间】:2010-03-09 11:14:28 【问题描述】:

我已经为 FxCop 1.36 编写了几个自定义规则。我编写了代码来查找打开的 DataReader 是否关闭的天气。但它不会检查哪个 DataReader 对象正在调用 Close() 方法,所以我无法确定是否所有打开的 DataReader 对象都已关闭!!

第二个:如果我是“if/else”中的 DataReader,例如

if 1=2
 dr = cmd.ExecuteReader();
else
 dr = cmd2.ExecuteReader();
end if

在这种情况下,它将搜索 2 个要关闭的 DataReader 对象。

为了更清楚,我将我的代码放在上面。

public override ProblemCollection Check(Member member)

    Method method = member as Method;
    int countCatch =0;
    int countErrLog = 0;
    Instruction objInstr = null;
    if (method != null)
    
        for (int i = 0; i < method.Instructions.Count; i++)
        
            objInstr = method.Instructions[i];
            if (objInstr.Value != null)
            
                if (objInstr.Value.ToString()
                    .Contains("System.Data.SqlClient.SqlDataReader"))
                
                    countCatch += 1;
                
                if (countCatch>0)
                
                    if (objInstr.Value.ToString().Contains(
                        "System.Data.SqlClient.SqlDataReader.Close"))
                              
                        countErrLog += 1;
                    
                
            
        
    
    if (countErrLog!=countCatch)
    
        Resolution resolu = 
            GetResolution(new string[]  method.ToString() );
        Problems.Add(new Problem(resolu));
    
    return Problems;

【问题讨论】:

您还应该检查“Dispose()”,它也可以用于正确关闭 DataReader,尤其是在 using-Blocks 中。 @tanmay:你找到解决方案了吗?如果是,那么请添加这个问题的答案..这将是很大的帮助 【参考方案1】:

对于 FxCop,这实际上非常困难(如果不可能的话)。当微软想为 VS2010 的 FxCop 添加一些安全分析规则时,他们也发现了这一点。问题是 FxCop 的数据流分析不够好。出于这个原因,微软构建了一个新的分析引擎,实际上可以做到这一点。它被称为Phoenix,但我只有 Visual Studio 2010 Ultimate 版包含这个引擎(没有可用的免费版本)。阅读更多关于它的信息here。

【讨论】:

是“凤凰引擎”。更多信息:blogs.msdn.com/codeanalysis/archive/2010/04/14/…. 啊,是的,凤凰引擎。谢谢

以上是关于如何关闭自定义AlertDialog-Android开发问答的主要内容,如果未能解决你的问题,请参考以下文章

当我从 UITableViewController 打开自定义 UIView 时,如何关闭自定义视图并返回表格视图?

如何自定义箭头和关闭按钮?

如何使用 FxCop 自定义规则验证 DataReader 是不是实际关闭?

如何在自定义键盘中关闭键盘?

如何使用多个自定义按钮和背景图像显示警报消息? [关闭]

找不到自定义程序集时如何立即关闭/关闭 Excel VSTO 工作簿