Kotlin zipAll替代品

Kotlin的function是否像Scala中的zipAll一样? 在scala我可以做两个不同长度的数组的总和使用zipAll函数。 斯卡拉: val arrA = Array(1,2,3) val arrB = Array(4, 5) arrA.zipAll(arrB, 0, 0).map(x => x._1 + x._2) 或者在Kotlin中做到这一点的正确方法是什么?

访问设置时Android安全性exception

我需要从我的应用程序中打开使用统计信息设置。 对于大多数手机,一切工作正常: startActivity(new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)); 但是,有一些像华为Y6 Pro这样的手机引发安全exceptionjava.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.USAGE_ACCESS_SETTINGS cmp=com.android.settings/.Settings$UsageAccessSettingsActivity } from ProcessRecord{3f032f8b 18712:com.example.pro/u0a924} (pid=18712, uid=10924) not exported from uid 1000 有没有办法来检查我是否可以执行startActivity ,它不会抛出任何exception?

如何设置支持库零食栏文本颜色的东西比android:textColor?

所以我开始在设计支持库中使用新的Snackbar,但是我发现当你在主题中定义“android:textColor”时,它适用于快餐栏的文本颜色。 这显然是一个问题,如果您的主要文字颜色是黑暗的。 有没有人知道解决这个问题的方法,或者如何为我的文本添加颜色? 编辑2017年1月:(回答后) 虽然有一些自定义的解决方案可以解决以下问题,但为主题Snackbars提供正确的方法可能也不错。 首先,你可能不应该在你的主题中定义android:textColor (除非你真的知道使用主题的范围)。 这设置基本上连接到您的主题的每个视图的文本颜色。 如果要在视图中定义不是默认的文本颜色,请使用android:primaryTextColor并在您的自定义视图中引用该属性。 但是,要将主题应用于Snackbar ,请参考第三方材料文档中的质量指南: http : //www.materialdoc.com/snackbar/ (按照程序化主题实现,不要依赖xml样式) 以供参考: // create instance Snackbar snackbar = Snackbar.make(view, text, duration); // set action button color snackbar.setActionTextColor(getResources().getColor(R.color.indigo)); // get snackbar view View snackbarView = snackbar.getView(); // change snackbar text color int snackbarTextId = android.support.design.R.id.snackbar_text; TextView textView = (TextView)snackbarView.findViewById(snackbarTextId); textView.setTextColor(getResources().getColor(R.color.indigo)); // change […]

错误:无法解析版本的依赖关系’org.jetbrains.kotlin:kotlin-stdlib-jre7:jar’

我有一个用java编写的项目我正在使用gradle集成kotlin。 我正在尝试遵循https://kotlinlang.org/docs/reference/using-gradle.html 我的build.gradle buildscript { ext.kotlin_version = ‘1.1.51’ repositories { jcenter() } dependencies { classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” } } apply plugin: “kotlin” dependencies { compile “org.jetbrains.kotlin:kotlin-stdlib-jre7” } 根据Kotlin错误:找不到org.jetbrains.kotlin:kotlin-stdlib-jre7:1.0.7该库仅在kotlin v1.1及更高版本中可用。 当我部署这个库,并在我的android项目中使用它时,我得到标题中的错误。

扔在Kotlin的操作员

在kotlin中重写下面的代码将会是一个更优雅的方式。 if (xList.isEmpty()) { throw SomeException(“xList was empty”) } 我们有一个throwif操作符或什么的?

如何将一个types列表中的列表组合到一个单一的不可变列表中?

我有 interface Source { val type: String val viewTypes: List } 当我有一个列表 val sources = arrayListOf(source1, source2, source3) 我想连接所有源viewTypes到一个List 。 有没有一种方法来实现,而不使用for循环,并获得一个不可变的List的viewTypes ? 下面是错误的,因为它正在产生List<List> val listOfListViewType = sources.map { it.viewTypes }

颠倒中缀布尔结果kotlin

我有一个中缀函数,假设是这样的: class test{ infix fun equalsTen(value:Int):Boolean = value.equals(10) } 显然这不是真正的function,只是一个例子。 另外可以说,我有这个function: fun doSomething(value: Int){ val testClazz = test() if(testClazz equalsTen value){//line 3 //do something } } 我怎样才能扭转第3行的情况? 现在基本上是: if(testClazz.equalsTen(value)){…} 我怎样才能改变它: if(!testClazz.equalsTen(value)){…} 保持中缀expression?

Android系统。 设置textSize所以它的高度匹配它的父布局高度的百分比 – 可能吗?

我的任务很简单,但任何解决方案似乎非常复杂…我有一个应用程序,动态生成每行textView / editText 17表。 现在textSize被硬编码为20f所有textViews / editText – 它看起来不错,在我的手机,但它不是很兼容的FX。 平板电脑。 我想将文本大小设置为一个数字,它将使外部容器的文本的高度为1/17。 无论设备具有多大的尺寸/分辨率,每个tableRow都可以完美地适应屏幕。 它如何看起来不同的scrren大小 – img 它应该如何看起来不同的尺寸 – img 而不管别的什么样的屏幕; 英寸,尺寸,分辨率等等,文本行高总应该是红框高度的1/17。 这甚至有可能吗? 我写在kotlin和我的用户界面是动态生成的,我创建像这样的行和textViews: fun createRow(label: String, tf: Typeface): TableRow { val row = TableRow(activity) row.setBackgroundResource(R.drawable.border) gameSheetTable.addView(row) val tw = TextView(activity) tw.text = label tw.textSize = textSize tw.typeface = tf tw.setTextColor(Color.BLACK) textViews.add(tw) row.addView(tw) return row } 我努力了: […]

Unweave序列,Kotlinfunction/流式习语

我有一个交错的数据序列(与固定步幅),我想减少它为每个“结构”(n *跨度价值n值)单个值。 我可以使用循环写入到可变列表中,并为读者索引选定步骤,但是我正在寻找更多的function和可读的方法。 有什么想法吗? 例如:输入序列由RGB三元组(步幅3)组成,输出为灰度。 命令的方式是这样的: fun greyscale(stream:List):List{ val out = ArrayList(stream.size / 3) var i = 0; var o = 0 while(i < stream.size) out[o++]=(stream[i++] + stream[i++] + stream[i++])/3 return out } 我怎么能没有明确地实现一个函数和可变容器,而是纯粹的function扩展如.map等?

找不到io.fabric.tools:gradle

我遵循织物的官方指示 https://www.fabric.io/kits/android/crashlytics/install 这是我的gradle.build文件 apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ apply plugin: ‘io.fabric’ buildscript { ext.kotlin_version = ‘1.1.51’ repositories { jcenter() mavenCentral() maven { url ‘https://maven.google.com’ } } dependencies { … classpath ‘io.fabric.tools:gradle:1.24.3’ } } repositories { jcenter() mavenCentral() maven { url “https://jitpack.io” } maven { url ‘https://maven.google.com’ } maven { url ‘https://maven.fabric.io/public’ } } android […]