小编dsc*_*ten的帖子

有没有更好的方法来恢复SearchView状态?

我有一个可折叠SearchViewActionBar.执行搜索后,将关联关联ListView以仅显示匹配项.在该状态期间,SearchView仍然会展开并显示搜索字符串.如果用户关闭SearchView,我删除过滤器.

我想恢复搜索状态,例如,在配置更改时,或者当我从另一个活动返回活动时,活动是否被销毁.

我恢复查询字符串onRestoreInstanceState(),如果我在onCreateOptionsMenu()调用中找到查询字符串

searchView.setQuery(query, true); 
Run Code Online (Sandbox Code Playgroud)

以便再次执行查询.事实证明,这比立即应用查询过滤器更好onRestoreInstanceState().对于后者,列表很快显示为未过滤,然后再次应用查询.有了setQuery()这不会发生.

问题:执行查询并过滤列表,但搜索视图仍保持折叠状态.因此,用户无法使用搜索视图删除过滤器或应用其他查询.

onCreateOptionsMenu()我可以确定搜索项和搜索视图存在,因此我可以打电话searchItem.expandActionView().奇怪的是,只有这样才能真正扩展ActionView- 调用setIconified(false)不会扩展视图,即使连续两次调用它也不会.

如果我expandActionView()在打电话之前使用setQuery(),SearchView则打开并显示文本(否则expandActionView()清空SearchView).

不幸的是,expandActionView()有副作用:还会显示建议列表并打开键盘.

我可以使用隐藏键盘searchView.clearFocus().所以剩下的问题是建议清单.如何关闭SearchView包含文本的打开建议列表?

我想知道是否有更好的方法来恢复没有这么多副作用的操作栏中的搜索视图.

android searchview

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

在Android searchview中显示建议列表中的选择

我有一个带有建议清单的搜索查看.如果用户从列表中选择一个项目,则会发送新意图并且我可以应用我的过滤器,但搜索视图仍为空.

如果我使用setQuery更新onNewIntent中的搜索视图(见下文),效果是所选项目显示在搜索视图中,但建议列表会再次弹出.我可以避免这种情况,只在搜索视图中显示当前查询文本而不会弹出建议列表吗?

@Override
protected void onNewIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
    final String query = intent.getStringExtra(SearchManager.QUERY);
    if (!query.equals(searchView.getQuery())) {
    searchView.setQuery(query, false); // makes the suggestions pop up
    }
    applyFilter(query);
}
}
Run Code Online (Sandbox Code Playgroud)

android searchview

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

在camunda进程的进程变量中传递json

我正在尝试将变量中的 json 有效负载作为值传递以使用 engine-rest api 启动流程定义,如下所示:-

应用程序接口:

http://localhost:8080/engine-rest/process-definition/processService:1:9459dbe9-6b2c-11e8-b9e8-28d2447c697a/start

身体 :

{
  "variables": {
      "payload": {
        "value": {
            "mode": "email",
            "meta": [{
                "key": "topic",
                "value": "weather"
            }, {
                "key": "qos",
                "value": "2"
            }]
        },
        "type": "Json"
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

但它给出了 400 BAD REQUEST,错误如下:- 必须为 SerializableValue 类型“Json”的值提供“null”或字符串值。

此外,我在 BPMN 流程中使用了一个表达式来获取如下所示的键值对,它也引发了我的错误:-

${S(payload).prop("mode").stringValue() == 'email'}

现在的工作步骤:- 当我尝试以字符串格式发送正文 json 有效负载时,它工作正常。

应用程序接口:

http://localhost:8080/engine-rest/process-definition/processService:1:9459dbe9-6b2c-11e8-b9e8-28d2447c697a/start

身体:

{
  "variables": {
      "payload": {
        "value": "{\"mode\": \"email\",\"meta\": [{\"key\": \"topic\",\"value\": \"weather\"},{\"key\": \"qos\",\"value\": \"2\"}]}",
        "type": "String"
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

我在这里使用相同的 Java 代码来获取 json …

javascript java json camunda camunda-modeler

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

Sveltejs 有条件地呈现 html 属性

如何使用 svelte 有条件地呈现 html 元素上的属性?需要明确的是,我不是在谈论条件值,而是在谈论属性存在本身。

例如,我只想自动聚焦此输入列表中的第一项:

{{#each codeInputs as codeInput, index}}
  <input bind:value="inputCodes[index]" type="text" autofocus> 
{{/each}}
Run Code Online (Sandbox Code Playgroud)

该属性autofocus应该只存在于第一项。我可以使用 index 来检测第一项,但autofocus="{{index===0}}"渲染autofocus="true"or "false",所以这不是我需要的。

另见https://github.com/sveltejs/svelte/issues/259

svelte

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

Spring Boot Camel 测试

我需要在 Spring Boot 应用程序中测试 Camel 路由。我有 Spring boot 主类,其中声明了所有必需的 bean。我正在使用 CamelSpringJUnit4ClassRunner.class。在 @ContextConfiguration 中添加了我的 Spring boot 主类,因为它包含所有配置。我没有单独的配置类。

我在我的测试类中自动装配了 CamelContext:

@Autowired
CamelContext camelContext;
Run Code Online (Sandbox Code Playgroud)

但是测试失败并显示错误:

引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:

没有可用的“org.apache.camel.CamelContext”类型的合格 bean:预计至少有 1 个 bean 有资格作为自动装配候选。

依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}

apache-camel spring-boot junit5 camel-test

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