小编Jas*_*n C的帖子

如果列表中尚不存在,则将项添加到arraylist

嗨我有一个列表视图显示一个arraylist,当点击一个项目时,它被添加到另一个arraylist并显示在另一个活动中.我的问题是什么?我希望如果我触摸一次的项目(例如狗)被添加到第二个活动中,它就会显示出来.但如果我要触摸该项目(狗)不再添加.

我们会说我想检查它是否存在,而不是添加.

我试过了,但没有成功.

if (page2 == null)
{
    page2 = (ListView) LayoutInflater.from(Local_mostrar_bebidaActivity.this).inflate(R.layout.page_two_viewpager_listview, null);
    page2.setAdapter(adapterlistvMenuVINOSespumosos);
    page2.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
            if (MiPedidoActivity.itemsListVMiPedido.contains( position)){}
            else
                MiPedidoActivity.itemsListVMiPedido.add(itemsListVMenuVINOSespumosos.get(position));

        }});
    }
    page = page2;
    break;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java android

15
推荐指数
1
解决办法
5万
查看次数

在qmake中向自定义目标添加自定义命令

有没有办法在.pro文件中指定要添加到生成的Makefile中的标准目标的额外命令qmake?例如,考虑一下distclean,可能需要额外的命令:

  • 删除*〜文件.
  • 从源树中清除运行时生成的输出文件.
  • 等等.

我想使用普通目标而不是自定义目标,因为我希望它在我的工作流程中完全透明.那是(再次distclean用作例子),我不想......

  • ...需要知道多项目设置,某些Makefile使用自定义规则而不是distclean.
  • ...文件自定义规则,即使是单机项目,distclean已经是众所周知的,直观.

我发现如何在qmake生成的Makefile中添加自定义目标?,但这描述了添加自定义目标(已经记录,甚至在4.6中),而不是向现有目标添加规则.虽然它确实包含一些提示,但它们都需要添加新的自定义目标,因为在Makefile中多次指定同一目标会替换(不添加)前一个目标的命令.

我真的想尝试的唯一的事情是添加target.commands += new commands的.pro文件作为胡乱猜测(如distclean.commands += rm \"*~\").这没有效果.

如何透明地将自定义命令添加到现有目标qmake


对于distclean示例:虽然maintainer-clean也在"标准目标"列表中,但实际上我发现它很少使用,并且在任何情况下qmake都不会默认生成它; 我认为这是不合适的.

qt qmake makefile target

15
推荐指数
1
解决办法
6506
查看次数

Node.js 16 -&gt; 17 更改了“localhost”的解析?

在node.js 16.13.1(Windows)下,这样的代码可以工作(假设服务器存在并且工作正常):

import net from 'net';

let socket = net.createConnection({
    host: 'localhost',
    port: 12345
})
Run Code Online (Sandbox Code Playgroud)

更新到 node.js 17.7.2 后,上面的内容现在会抛出 ECONNREFUSED(连接被拒绝)错误。但是,它可以与“0.0.0.0”而不是“localhost”一起正常工作。

事实上,甚至记录的默认值“localhost”(感谢 VLAZ)在 17.7.2 上也失败了:

// connects with 16.13.1, ECONNREFUSED with 17.7.2:
net.createConnection({port:12345});

// connects with both versions:
net.createConnection({port:12345,host:'0.0.0.0'});

// connects with 16.13.1, ECONNREFUSED with 17.7.2:
net.createConnection({port:12345,host:'localhost'});
Run Code Online (Sandbox Code Playgroud)

我已经确认该行为取决于节点的版本。我可以通过使用建立网络连接的任何代码切换节点版本来可靠地避免/重现该行为。

我有相当多的代码,其主机默认为“localhost”。如果不需要的话,我宁愿不将所有这些更新为“0.0.0.0”。更乏味的是,用户通常提供主机地址并期望“localhost”能够工作,因此现在每次我使用用户指定的主机地址创建套接字时,我都必须添加将“localhost”转换为“0.0.0.0”的逻辑。我的意思是,我会做我必须做的事,但这很糟糕。

我的问题是:16.13.1 和 17.7.2 之间发生了什么导致“localhost”不再可用?这是一个错误,还是一些故意的改变?而且,有没有办法让它再次工作,或者我现在必须在各处查找+替换“localhost”为“0.0.0.0”?

我怀疑人们在互联网上询问的许多“连接拒绝本地主机”错误都与更改的内容有关......


更新:这似乎与 17 中接口枚举方式(或类似内容)的变化有关,而不是与“localhost”的具体使用有关。

例如,使用以下测试设置:

  • 使用节点创建三台 TCP 服务器:一台用于默认地址,一台显式设置“0.0.0.0”,一台显式设置“localhost”。
  • 三个客户端尝试连接到每台服务器,一个连接到默认主机,一个连接到“0.0.0.0”,一个连接到“localhost”。

然后使用 16.13.1:

默认收听 在 0.0.0.0 上收听 在本地主机上监听
连接到默认值 好的 好的 好的
连接到 0.0.0.0 好的 好的 好的
连接到本地主机 好的 好的 …

javascript sockets localhost node.js

14
推荐指数
1
解决办法
5069
查看次数

Bootstrap左对齐复选框以水平形式

我正在使用Bootstrap 3.3.7.我有一个带有无标签复选框的水平表单,如下所示:

<div class="container-fluid" style="max-width:600px">
  <form class="form-horizontal">
    <div class="form-group">
      <label class="control-label col-sm-2" for="field1">Field 1:</label>
      <div class="col-sm-8">
        <input class="form-control" type="text" id="field1"/>
      </div>
    </div>
    <div class="form-group">
      <label class="control-label col-sm-2" for="field2">Field 2:</label>
      <div class="col-sm-8">
        <input class="form-control" type="text" id="field2"/>
      </div>
    </div>
    <div class="form-group">
      <label class="control-label col-sm-2" for="field3">Field 3:</label>
      <div class="col-sm-8">
        <!-- HERE IS THE CHECKBOX: -->
        <input class="form-control" type="checkbox" id="field3"/>
      </div>
    </div>
    <div class="form-group">
      <div class="col-sm-offset-2 col-sm-8">
        <button class="btn btn-default btn-primary" type="submit">Apply Changes</button>
      </div>
    </div>
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

我在这里创建了一个Bootply演示.

问题是复选框居中.我希望它左对齐,因此左边缘与其上方文本输入的左边缘对齐.

我怎么做? …

html css twitter-bootstrap

13
推荐指数
3
解决办法
2万
查看次数

如何使用Bookshelf.js正确更新模型?

我确定我错过了一些东西,但我发现Bookshelf API对我来说是无情的混淆.这是我想要做的:

  • 我有一个模型调用Radio了一个应用程序分配的字符串主键serial,并且为了这个例子,有两个名为example1和的字段example2.我idAttribute: 'serial'在模型定义中指定了自定义ID .
  • 我正在尝试使用Bookshelf执行upsert(不直接使用Knex,在我的实际应用程序中查询变得相当复杂).
  • 我有插入案例工作,但似乎无法使更新案例工作.
  • 为简单起见,我现在不关心交易或原子性.我很满意得到一个简单的选择→插入/更新工作.

特别是在这个例子中:

  • 在插入集example1example2.
  • 在更新设置example1,并留下example2不变.

所以我在Bookshelf模型中有这样的东西,作为类(即"静态")方法("info"有字段"serial","example1"和"example2"):

insertOrUpdate: function (info) {
    return new Radio({'serial':info.serial}).fetch().then(function (model) {
        if (model) {
            model.set('example1', info.example1);
            return model.save({}, {
                method: 'update',
                patch: true
            })
        } else {
            return new Radio({
                serial: info.serial,
                example1: info.example1,
                example2: info.example2
            }).save({}, {
                method: 'insert'
            })
        }
    }).then(function (model) {
        console.log("SUCCESS"); …
Run Code Online (Sandbox Code Playgroud)

javascript node.js bookshelf.js

13
推荐指数
1
解决办法
7469
查看次数

如何在Xlib应用程序中等待VSYNC?

我正在使用XWindow Drawable,Pixmap和XRender在屏幕上绘图.我可以看到有时闪烁.有没有办法等待VBLANK?我已经google了很多,感觉就像在森林里寻找一枚硬币.

没有OpenGL参与.它是Linux(Ubuntu).我可以使用(纳米)睡眠(),但需要知道什么时候绘制时间已经到了一些方法.

c++ linux x11 xlib vsync

12
推荐指数
1
解决办法
1227
查看次数

在承诺中,当时和最后有什么区别?

我看到Bluebird的文档,finally但我仍然不太了解与之相比的差异then.

要清楚:我确切地知道为什么then在a之后调用catch.我希望在捕获之后调用它.这是意图.我的问题是:如果我希望代码总是被执行而不管承诺状态,那么thenvs 之间的区别finally是什么?

我建立了这个测试:

var Promise = require("bluebird");

function test1 () {
    console.log("RESOLVE + THEN + CATCH + THEN");
    return new Promise((resolve, reject) => resolve())
       .then(() => console.log("then"))
       .catch(err => console.log("error:", err.message))
       .then(() => console.log("end"));
}

function test2 () {
    console.log("REJECT + THEN + CATCH + THEN");
    return new Promise((resolve, reject) => reject(new Error("rejected")))
       .then(() => console.log("then"))
       .catch(err => console.log("error:", err.message))
       .then(() => console.log("end")); …
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise bluebird

12
推荐指数
3
解决办法
2万
查看次数

Jsoup:获取所有标题标签

我正在尝试使用Jsoup解析html文档以获取所有标题标记.另外我需要将标题标签分组为[h1] [h2]等...

     hh = doc.select("h[0-6]");
Run Code Online (Sandbox Code Playgroud)

但这给了我一个空阵列.

java jsoup

11
推荐指数
1
解决办法
1万
查看次数

在节点中加密并在java中解密

我有一个Java加密代码.我正在尝试将加密部分移植到节点.基本上,节点将使用加密模块进行加密,然后Java将进行解密.

以下是我在Java中进行加密的方法:

protected static String encrypt(String plaintext) {
    final byte[] KEY = {
            0x6d, 0x79, 0x56, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70,
            0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b
    };

    try {
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
        final SecretKeySpec secretKey = new SecretKeySpec(KEY, "AES");
        cipher.init(Cipher.ENCRYPT_MODE, secretKey);
        final String encryptedString = Base64.encodeToString(
            cipher.doFinal(plaintext.getBytes()), Base64.DEFAULT);

        return encryptedString;
    } catch (Exception e) {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是我在节点中进行加密的方法:

var crypto = require('crypto'),
    key = new Buffer('6d7956657279546f705365637265744b', 'hex'),
    cipher = crypto.createCipher('aes-128-ecb', key),
    chunks = []; …
Run Code Online (Sandbox Code Playgroud)

java encryption openssl aes node.js

11
推荐指数
3
解决办法
1万
查看次数

CSS边框动画 - 将实线转换为虚线

我创建了一个圆形动画,它工作正常,但我想从实线变为虚线,但我想知道如何完成它,有人可以建议吗?

以下是它现在的样子:

#loading {
  width: 50px;
  height: 50px;
  margin: 30px auto;
  position: relative;
}
.outer-shadow, .inner-shadow {
  z-index: 4;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 100%;
}
.inner-shadow {
  top: 1px;
  left: 1px;
  width: 48px;
  height: 48px;
  margin-left: 0;
  margin-top: 0;
  border-radius: 100%;
  background-color: #ffffff;
}
.hold {
  position: absolute;
  width: 100%;
  height: 100%;
  clip: rect(0px, 50px, 50px, 25px);
  border-radius: 100%;
  background-color: #fff;
}
.fill, .dot span {
  background-color: #f00;
}
.fill {
  position: absolute;
  width: 100%;
  height: 100%; …
Run Code Online (Sandbox Code Playgroud)

html javascript css

11
推荐指数
2
解决办法
1631
查看次数