我正在尝试创建一个"提示"对话框,通知用户在手机上启用GPS会降低电池寿命.我希望它弹出,但有一个复选框,上面写着:"别再问我了".
如何在Android中创建此功能?
谢谢,
Zukky.
AlertDialog.Builder prompt = new AlertDialog.Builder(this);
prompt.setCancelable(false);
prompt.setTitle("Warning");
prompt.setMessage ("HINT: Otherwise, it will use network to find" +
"your location. It's inaccurate but saves on " +
"battery! Switch GPS on for better accuracy " +
"but remember it uses more battery!");
Run Code Online (Sandbox Code Playgroud) 我有一个遍历对象树的函数,不会修改树中的任何对象.
该函数看起来像这样:
static Node* findMatchingNode(const Node& root, const SomeFilterData& d);
struct Node {
Node* left;
Node* right;
};
Run Code Online (Sandbox Code Playgroud)
该函数可以返回树中的根或任何对象,也可以不返回任何对象.很明显,与给定声明相比,我必须在某处执行const_cast,在大多数情况下这是禁止的.
函数是否可以保证constness并同时允许任何人修改其输出?
编辑.我没有明确说明,我的函数确实没有修改树中的任何节点,也没有创建新的Node,它是纯函数.我想在const那里总是有限定符,告诉每个人该功能不会修改任何东西
编辑.后面的潜在问题是,在函数执行期间(并且仅在函数内部)没有强制输出常量的情况下,没有合法的方式来表达输入的常量.
我想将Xcode附带的Apple铿锵声映射回官方的clang功能列表.
但我无法将这两者联系起来.版本模糊不清.
有办法告诉吗?
我在学习OCPJP认证的模拟考试时想出了这个例子,
(来自http://www.certpal.com 1.6版考试第3部分,流程控制,问题8)
public class Oak
{
public static void main(String args[])
{
try
{
Integer i =null;
i.toString();
}
catch (Exception e)
{
try
{
System.out.println("One ");
Integer i =null;
i.toString();
}
catch (Exception x)
{
System.out.println("Two ");
Integer i =null;
i.toString();
}
finally
{
System.out.println("Three ");
Integer i =null;
i.toString();
}
}
finally
{
System.out.println("Four ");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我完全知道finally块总是执行,除非有一个System.exit(),所以我跟踪了程序,并确定它将有一个像这样的输出
线程"main"中的两个异常java.lang.NullPointerException线程"main"中的三个异常java.lang.NullPointerException四
但是,事实证明输出正确(根据网站和Eclipse调试)
线程"main"java.lang.NullPointerException中的一个二三四异常
我不理解的是,在带有"两个"的catch块中发生的异常在哪里去了?
在它下面没有捕获块,它不应该被主线程抛出吗?因为它没有被捕获?
java exception-handling exception try-catch nullpointerexception