如何关闭自定义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 时,如何关闭自定义视图并返回表格视图?