小编akh*_*khy的帖子

如何有选择地装饰RecyclerView项目

我正在ItemDecoration从这个要点创建一个子类:https://gist.github.com/alexfu/0f464fc3742f134ccd1e

如何使它只装饰具有一定条件的物品?例如,仅装饰具有特定位置的项目,ViewHolder的类型等.

我已经使用此代码修改了上面提到的要点(加上对已弃用的Android API的一些更改),但所有项目都会被装饰:

public boolean isDecorated(View view, RecyclerView parent) {
    RecyclerView.ViewHolder holder = parent.getChildViewHolder(view);
    return holder instanceof MenuIconViewHolder || holder instanceof MenuDetailViewHolder;
}

@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
    if (isDecorated(view, parent)) {
        if (mOrientation == VERTICAL_LIST) {
            outRect.set(0, 0, 0, mDivider.getIntrinsicHeight());
        } else {
            outRect.set(0, 0, mDivider.getIntrinsicWidth(), 0);
        }
    } else {
        super.getItemOffsets(outRect, view, parent, state);
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码出了什么问题?顺便说一句,将这种代码放在ItemDecoration类中是否可以被认为是最佳实践(关注点分离)?

android android-ui android-recyclerview

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

如何从命令行安装旧版Android构建工具?

我正在安装android SDK来创建一个自动构建服务器.我遇到了一个问题,我管理的许多基于Gradle的Android项目依赖于不同的构建工具版本.一些项目仍然需要旧的构建工具版本(例如v19.1.0).

我的android-sdk软件包是在build-tools版本20刚刚发布时下载的,所以这是唯一可以下载的版本android update sdk -u --filter build-tools.

我试图调用android update sdk -u --filter build-tools-19.1.0但它没有用.有没有一种从命令行安装旧版Android构建工具的简单方法?

注意:无法通过GUI安装

android build-tools android-sdk-tools

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

如何在片段中使用Anko DSL?

Github上wiki页面中使用显示这个例子Activity比如:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    verticalLayout {
        padding = dip(30)
        editText {
            hint = "Name"
            textSize = 24f
        }
        editText {
            hint = "Password"
            textSize = 24f
        }
        button("Login") {
            textSize = 26f
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

怎么做同样的内心Fragment

我试图将该verticalLayout块放入onCreateView但该方法无法解决.我增加了anko-support-v4依赖性,但仍然没有运气.

android android-layout android-fragments kotlin anko

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

如何将文件复制/添加到Dockerfile中的当前WORKDIR

COPY/ADD语句需要2个参数.如何将任何文件添加到已在基本映像中设置的当前workdir?

FROM company/app
COPY local.conf
Run Code Online (Sandbox Code Playgroud)

当然我可以在COPY之前添加WORKDIR语句来明确声明它.但如果company/app改变工作,那将是有问题的.

docker dockerfile

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

如何获取最后安装/更新的Jenkins插件?

我的Jenkins实例界面坏了.我怀疑最近的插件更新是原因.但是我不记得哪些插件最近更新了.我需要知道所以我可以将插件版本回滚到上一个版本.

如何找到这些信息?

一些可能的方式:

  • 詹金斯登录
  • 通过Groovy控制台检索插件信息

jenkins jenkins-plugins

10
推荐指数
1
解决办法
5579
查看次数

拆分包含字母和数字的字符串,不用PHP中的任何特定分隔符分隔

目前我正在开发一个Web应用程序来获取Twitter流并试图通过我自己创建一个自然语言处理.

由于我的数据来自Twitter(限制为140个字符),因此缩短了许多单词,或者在这种情况下,省略了空格.

例如:

"Hi, my name is Bob. I m 19yo and 170cm tall"
Run Code Online (Sandbox Code Playgroud)

应该被标记为:

- hi
- my
- name
- bob
- i
- 19
- yo
- 170
- cm
- tall
Run Code Online (Sandbox Code Playgroud)

请注意,19yo19yo没有空间之间.我主要用它来提取单位数.

简单地说,我需要的是一种"爆炸"每个令牌的方法,这些令牌中有数字或数字,没有分隔符.

'123abc' 将会 ['123', 'abc']

'abc123' 将会 ['abc', '123']

'abc123xyz' 将会 ['abc', '123', 'xyz']

等等.

在PHP中实现它的最佳方法是什么?


我找到了接近它的东西,但它是C#,特别是日/月分裂.如何根据字母和数字在C#中拆分字符串

php regex string algorithm nlp

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

如何使用 RxJava 串行批处理长进程?

我有一大串需要针对远程 API 进行检查的字符串。

Observable.from(List<String> strings) // let's say the `strings` has > 5000 items
   .buffer(50) // splitting the strings into 50-sized chunks, it returns Observable<List<String>> (fast)
   .flatMap((strings) -> {
       // checkPhoneNumbers is a network call using Retrofit's RxJava (slow)
       return mSyncApi.checkPhoneNumbers(strings);
   })
   .reduce( ... ) // aggregate all checking results
   .subscribe( ... );
Run Code Online (Sandbox Code Playgroud)

问题buffer()似乎是发射List<String>太快,以至于.checkPhoneNumbers()几乎同时执行所有多个。我想实现的是排队.checkPhoneNumbers()以更好地支持连接速度较慢的设备。

List<String>预定义的时间间隔内限制发射是没有意义的,因为这对于具有闪电般快速连接的设备来说是一个缺点。我在 之后立即尝试了 RxJava serialize()flatMap()但它似乎没有任何区别(虽然我不知道它是否正确使用serialize)。

任何替代方法表示赞赏!谢谢。

reactive-programming rx-java

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

如何检查符号链接是否存在,无论它指向何处

我正在尝试这个YML代码:

- name: Check links
  file: name=/usr/local/bin/zsh state=link
Run Code Online (Sandbox Code Playgroud)

但是它总是以失败告诉我:src and dest are required for creating links.我要做的只是检查链接路径是否存在.如果不存在,我不打算创建它.

有没有Ansible-idiomatic方法来做到这一点?

ansible ansible-playbook

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

Android MediaStore 中的 _ID 列有多独特?

我正在开发一个能够将播放列表(音乐集)保存到磁盘的 Android 音乐播放器应用程序。但是我有一些问题,我已经用谷歌搜索了但没有什么能让我满意。

我发现的大多数教程/指南总是使用 _ID(据我所知,它具有整数/长数据类型)来区分音乐文件。它有多独特?

我所说的独特性可以这样描述:

  1. 我发现 _ID 看起来像序列号。如果我添加/删除音乐会发生什么,其他音乐的 ID 会改变吗?
  2. 将我的播放列表数据存储为音乐 ID 列表是否安全?任何用户对磁盘上音乐文件的更改都会保留播放列表吗?

谢谢。

android

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

从Flat List生成嵌套列表(树)

我在Java中有一个名为MenuModel的普通类(顾名思义就是嵌套菜单),如下所示:

public class MenuModel {
    public String id;
    public String parentId = null;
    public String title;

    public MenuModel parent = null;
    public List<MenuModel> children = new ArrayList<MenuModel>(); 
 }
Run Code Online (Sandbox Code Playgroud)

我的代码的Web API获取数据,并生成MenuModel的平面列表只id,parentId以及title充满了数据字段.但是,我需要每个MenuModel都有对其父级和(可选)子级的引用以供进一步使用.

我想到了一个方法,它使一个嵌套循环将模型相互配对,并检查它们是否是父和子.但我认为成本太高(n ^ 2或n ^ 3复杂度,项目集很大)并且只能填充该parent字段.

在Java中实现这一目标的最佳方法是什么?总结一下:

  • 输入: ArrayList<MenuModel> source
  • 输出:ArrayList<MenuModel> result包含来自源的所有MenuModel parentId = null(这意味着它是顶级菜单),每个MenuModel都有子字段填充引用它们各自的子节点MenuModel.此外,每个孩子都提到了他们的父母.

提前致谢

java algorithm list data-structures

0
推荐指数
1
解决办法
1959
查看次数