程序设计

专业和发烧友程序员的问答

6
如果存在,如何从BackStack恢复Fragment
我正在学习如何使用片段。我有三个实例Fragment在类的顶部被初始化。我将片段添加到这样的活动中: 声明和初始化: Fragment A = new AFragment(); Fragment B = new BFragment(); Fragment C = new CFragment(); 替换/添加: FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.content_frame, A); ft.addToBackStack(null); ft.commit(); 这些摘要运行正常。每个片段都附加到该活动,并毫无问题地保存到后台堆栈。 因此,当我启动A,,C然后启动时,B堆栈如下所示: | | |B| |C| |A| ___ 当我按下“后退”按钮时,它B被破坏并C恢复。 但是,当我A第二次启动fragment 时,它不是从back stack恢复,而是添加到back stack的顶部 | | |A| |C| |A| ___ 但是我想恢复A并销毁所有碎片(如果有的话)。实际上,我只是喜欢默认的反向堆栈行为。 我该如何完成? 预期:(A应该恢复,并且应该破坏顶部片段) | | …

13
如何阻止Chrome将网站的输入框泛黄?
在表单提交,验证后的其他文本和视觉辅助工具中,我将输入框涂成红色以表示需要注意的交互式区域。 在Chrome(针对Google工具栏用户)上,自动填充功能将我的输入表单重新着色为黄色。这是一个复杂的问题:我希望在表单上允许自动完成,因为这可以加快用户登录的速度。如果/当触发错误时,我将检查是否可以将自动完成属性关闭,但是这很复杂一点编码以编程方式关闭页面上单个受影响输入的自动完成功能。简而言之,这将是一个严重的头痛。 因此,为避免发生该问题,有没有更简单的方法可以阻止Chrome重新为输入框重新着色? [edit]我尝试了下面的!重要建议,但没有任何效果。我尚未检查Google工具栏,以查看!important属性是否适用于此。 据我所知,除了使用autocomplete属性(确实起作用)之外,没有任何其他方法。

5
Ruby发送vs __发送__
我了解的概念,some_instance.send但我想弄清楚为什么您可以同时使用这两种方法。Ruby Koans暗示,除了提供许多不同的方法来执行相同操作之外,还有其他原因。这是两个用法示例: class Foo def bar? true end end foo = Foo.new foo.send(:bar?) foo.__send__(:bar?) 有人对此有任何想法吗?
151 ruby  syntax 

5
JavaScript:如何根据选择更改表单动作属性值?
我正在尝试根据下拉菜单中的选定值更改表单操作。 基本上,HTML看起来像这样: <form class="search-form" id="search-form" method="post" accept-charset="UTF-8" action="/search/user"> <select id="selectsearch" class="form-select" name="selectsearch"> <option value="people">Search people</option> <option value="node">Search content</option> </select> <label>Enter your keywords: </label> <input type="text" class="form-text" value="" size="40" id="edit-keys" name="keys" maxlength="255" /> <input type="submit" class="form-submit" value="Search" id="edit-submit" name="search"/> </form> 如果选择“人员”(默认情况下为默认值),则该操作应为“ / search / user”,如果选择了内容,则该操作应为“ / search / content” 我还在四处搜寻,但是还没有找到如何做的方法。
151 jquery  forms  dynamic  action 

4
是否可以“破解” Python的打印功能?
注意:此问题仅供参考。我很想知道这样做有多深入到Python内部。 不久之前,在某个问题的内部开始了一个讨论,该问题是关于传递给print语句的字符串是否可以在调用to之后/期间进行修改print。例如,考虑以下功能: def print_something(): print('This cat was scared.') 现在,当print运行时,到终端的输出应显示: This dog was scared. 请注意,单词“ cat”已被单词“ dog”代替。某处某种方式能够修改那些内部缓冲区以更改打印的内容。假设这样做是在未经原始代码作者明确许可的情况下进行的(因此,被黑客/劫持)。 这个评论从智者@abarnert,尤其让我思考: 有两种方法可以做到这一点,但是它们都很丑陋,绝不应该这样做。最丑陋的方法是code用一个带有不同co_consts 列表的对象替换 函数内部的对象。接下来可能是进入C API以访问str的内部缓冲区。[...] 因此,看起来这实际上是可能的。 这是我解决此问题的幼稚方法: >>> import inspect >>> exec(inspect.getsource(print_something).replace('cat', 'dog')) >>> print_something() This dog was scared. 当然,这exec很糟糕,但这并不能真正回答问题,因为在 print调用when / after之后,它实际上并未进行任何修改。 正如@abarnert解释的那样,它将如何进行?

7
Gulps gulp.watch是否未触发新文件或已删除文件?
在全局匹配中编辑文件时,以下Gulpjs任务可以正常工作: // watch task. gulp.task('watch', ['build'], function () { gulp.watch(src + '/js/**/*.js', ['scripts']); gulp.watch(src + '/img//**/*.{jpg,jpeg,png,gif}', ['copy:images']); gulp.watch(src + '/less/*.less', ['styles']); gulp.watch(src + '/templates/**/*.{swig,json}', ['html']); }); // build task. gulp.task('build', ['clean'], function() { return gulp.start('copy', 'scripts', 'less', 'htmlmin'); }); 但是,对于新文件或已删除文件,它不起作用(不会触发)。有什么我想念的吗? 编辑:即使使用grunt-watch插件,它似乎也不起作用: gulp.task('scripts', function() { return streamqueue( { objectMode: true }, …
151 javascript  node.js  gulp 

5
AngularJS ng-if具有多个条件
我想知道是否可能有这样的事情: div ng-repeat="(k,v) in items" <div ng-if="k == 'a' || k == 'b'"> <!-- SOME CONTENT --> </div> 知道项目是通过请求接收的JSON容器,所以这就是为什么我使用键值方法。 谢谢 我之所以问是因为我尝试使用Google进行谷歌搜索,但是我唯一能得到的结果是ng-switch,但是我必须使用ng-if。
151 angularjs 


18
方法链接-为什么这是一个好习惯?
方法链接是对象方法返回对象本身以使结果被另一个方法调用的实践。像这样: participant.addSchedule(events[1]).addSchedule(events[2]).setStatus('attending').save() 这似乎被认为是一种好习惯,因为它会产生可读的代码或“流畅的界面”。但是,对我而言,它似乎打破了面向对象本身所隐含的对象调用表示法-生成的代码不代表对先前方法的结果执行的动作,通常这是面向对象的代码的工作方式: participant.getSchedule('monday').saveTo('monnday.file') 这种差异设法为“调用结果对象”的点标记创建了两种不同的含义:在链接的上下文中,以上示例将被视为保存参与者对象,即使该示例实际上旨在保存计划表也是如此。 getSchedule接收的对象。 我知道这里的区别在于是否应期望被调用方法返回某些内容(在这种情况下,它将返回被调用对象本身进行链接)。但是,这两种情况与符号本身并没有区别,仅与被调用方法的语义相区别。当不使用方法链接时,我总能知道方法调用是在与上一个调用的结果相关的操作上进行的-通过链接,这种假设会中断,并且我必须在语义上处理整个链,以了解实际对象是什么叫真的是。例如: participant.attend(event).setNotifications('silent').getSocialStream('twitter').postStatus('Joining '+event.name).follow(event.getSocialId('twitter')) 那里的最后两个方法调用引用了getSocialStream的结果,而之前的方法引用了参与者。实际在上下文发生变化的地方写链可能不是一个好习惯(是吗?),但是即使如此,您也必须不断检查看起来相似的点链实际上是否在同一个上下文中,或者仅在结果上起作用。 在我看来,虽然表面上的方法链接确实会产生可读的代码,但点符号含义的重载只会导致更多的混乱。由于我不认为自己是编程专家,所以我认为这是我的错。所以:我想念什么?我是否理解方法链接有些错误?在某些情况下方法链接特别好还是在某些情况下特别糟糕? 旁注:我理解这个问题可以理解为掩盖为问题的意见陈述。但是,它不是-我真正地想了解为什么链被认为是一种好习惯,而在认为链打破了固有的面向对象表示法的地方,我犯了错。

2
为什么需要未对齐的apk?
Android gradle在两个二进制文件中生成apk:不对齐和对齐。 该文件说... 使用私钥对APK签名后,请在文件上运行zipalign。此工具可确保所有未压缩的数据都相对于文件的开头以特定的字节对齐方式开头。当安装在设备上时,确保4字节边界处的对齐可优化性能。对齐后,Android系统能够使用mmap()读取文件,即使它们包含具有对齐限制的二进制数据,也无需复制包中的所有数据。好处是减少了正在运行的应用程序消耗的RAM数量。 强烈建议您分发似乎对齐的apk。对我来说,我只使用对齐的 apk作为结果产品,而忽略未对齐的 apk。 未对齐的apk在开发过程中是否有任何特殊用法?
151 android  apk  release 

4
在Angular.js中进行AJAX调用的最佳实践是什么?
我正在阅读这篇文章:http : //eviltrout.com/2013/06/15/ember-vs-angular.html 它说, 由于缺乏约定,我想知道有多少Angular项目依赖于不良行为,例如直接在控制器内进行AJAX调用?由于依赖注入,开发人员是否将路由器参数注入指令中?AngularJS新手开发人员是否会以经验丰富的AngularJS开发人员认为惯用的方式来构造代码? 我实际上是$http从Angular.js控制器进行调用。为什么这是一个坏习惯?那么$http拨打电话的最佳做法是什么?为什么呢?
151 angularjs 

30
命令由于信号失败:分段错误:11
我遇到了错误... 命令由于信号失败:分段错误:11 ...尝试编译我的Swift应用程序时。我正在使用Xcode 6.1,尝试在iOS 8.1上为iPhone 5进行构建。 我的密码 import UIKit class ViewController: UIViewController { @IBOutlet weak var username: UITextField! @IBAction func signIn(sender: AnyObject) { PFUser.logInWithUsernameInBackground(username.text, password:"mypass") { (user: PFUser!, error: NSError!) -> Void in if user != nil { println("Logged In") } else { func myMethod() { var user = PFUser() …

2
HTTP重定向代码之间的区别
我不清楚各种HTTP 3XX重定向代码之间的区别。是的,我已经阅读了规范,但此处的标准和实际做法之间似乎存在一些差异。 该301重定向代码似乎足够清楚:这意味着资源已被永久移动到另一个URI,以及将来的请求应使用URI。 和307重定向代码也似乎很清楚:它意味着重定向是暂时的,将来的请求应该仍然使用原来的URI。 但是我无法分辨302和之间的区别303,或为什么它们中的任何一个真正不同于301。看来302原本是打算将其用作临时重定向(如307),但实际上,大多数浏览器都将其视为303。但是a 303和a有301什么区别?是301应该意味着重定向是更永久的吗?

3
Angular.js:$ eval如何工作,为什么与香草eval不同?
我很好奇$scope.$eval您经常在指令中看到您,因此我检查了源代码并在中找到以下内容rootScope.js: $eval: function(expr, locals) { return $parse(expr)(this, locals); }, $parse似乎由ParseProviderin 定义,in parse.js似乎定义了自己的某种微型语法(文件长900行)。 我的问题是: 到底在$eval做什么?为什么需要自己的小型解析语言? 为什么不使用普通的旧JavaScript eval?
151 angularjs 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.