小编chr*_*pec的帖子

Android:按下后退按钮时提示用户保存更改

我有一个活动,其中包含几个用户可编辑的项目(EditText字段,RatingBar等).如果按下后退/主页按钮并且已经进行了尚未保存的更改,我想提示用户.通过阅读android文档后,似乎这段代码应该放在onPause方法中.我已经尝试在onPause中放置一个AlertDialog,但是对话框会显示出来,然后立即关闭,因为没有任何东西阻止暂停完成.

这是我到目前为止所提出的:

@Override
protected void onPause() {
    super.onPause();

    AlertDialog ad = new AlertDialog.Builder(this).setMessage(
            R.string.rating_exit_message).setTitle(
            R.string.rating_exit_title).setCancelable(false)
            .setPositiveButton(android.R.string.ok,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,
                                int whichButton) {
                            // User selects OK, save changes to db
                        }
                    }).setNeutralButton(android.R.string.cancel,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,
                                int whichButton) {
                            // User selects Cancel, discard all changes
                        }
                    }).show();
}
Run Code Online (Sandbox Code Playgroud)

我是在正确的轨道还是有另一种方式来完成我在这里要做的事情?任何帮助都会很棒!

java android

34
推荐指数
2
解决办法
4万
查看次数

注册时是否可以指定多个Autofac生命周期范围?

我正在使用带有MVC4附加组件的Autofac IoC容器,该附加组件提供InstancePerHttpRequest生命周期范围.但是在我的项目中,我有web,web-api和后台工作线程.在下面的示例中,我假设InstancePerHttpRequest范围在不是源自Web请求时并不重要.

builder.RegisterType<DatabaseFactory>().As<IDatabaseFactory>()
    .InstancePerHttpRequest()
Run Code Online (Sandbox Code Playgroud)

我想知道是否有可能做类似下面的例子并让容器选择最合适的生命周期范围?

builder.RegisterType<DatabaseFactory>().As<IDatabaseFactory>()
    .InstancePerHttpRequest()
    .InstancePerApiRequest()
    .InstancePerDependency();
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我打算发生的是,如果请求来自Web请求,那么它将选择InstancePerHttpRequest范围,如果它来自webApi请求,它将选择InstancePerApiRequest范围,如果它被应用程序工作线程使用,它将使用InstancePerDependency范围?

任何想法,如果这或类似的东西是可能的?
谢谢

c# asp.net-mvc dependency-injection autofac lifetime-scoping

9
推荐指数
1
解决办法
5541
查看次数

使用$(shell)时NMake返回错误

我是nmake的新手,需要修改构建脚本。我想执行命令并将结果捕获到变量中,然后将在整个脚本中使用该变量。但是,当尝试使用shell命令时,我收到以下错误消息:

makefile(4) : fatal error U1000: syntax error : ')' missing in macro invocation
Stop.
Run Code Online (Sandbox Code Playgroud)

我整理了一行脚本来测试shell命令。

生成文件:

CMDRESULT = $(shell hostname)

all:
    echo $(CMDRESULT)
Run Code Online (Sandbox Code Playgroud)

这是使用的nmake的版本:

>nmake /?

Microsoft (R) Program Maintenance Utility Version 11.00.60610.1
Copyright (C) Microsoft Corporation.  All rights reserved.
Run Code Online (Sandbox Code Playgroud)

nmake是否支持shell命令?nmake中是否还有另一个选项可以执行命令并捕获结果?

windows shell powershell nmake build

4
推荐指数
1
解决办法
1707
查看次数