IntelliJ:Kotlin没有自动完成功能?

我正在用Kotlin插件开发一个项目,但是IntelliJ似乎没有Kotlin的自动完成功能。 有没有办法来启用它,或者我应该只是处理它。

Observable.combine在kotlin中的最新类型推断

我在我的项目中使用了RxJava2,Kotlin-1.1和RxBindings。 我有简单的登录屏幕,默认情况下禁用“登录”按钮,我只想在用户名和密码edittext字段不为空时启用按钮。 LoginActivity.java Observable<Boolean> isFormEnabled = Observable.combineLatest(mUserNameObservable, mPasswordObservable, (userName, password) -> userName.length() > 0 && password.length() > 0) .distinctUntilChanged(); 我无法将上面的代码从Java翻译成Kotlin: LoginActivity.kt class LoginActivity : AppCompatActivity() { val disposable = CompositeDisposable() private var userNameObservable: Observable<CharSequence>? = null private var passwordObservable: Observable<CharSequence>? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) initialize() } fun initialize() { userNameObservable […]

Java 8 lambda到kotlin lambda

public class Main { static class Account { private Long id; private String name; private Book book; public Account(Long id, String name, Book book) { this.id = id; this.name = name; this.book = book; } public String getName() { return name; } } public static void main(String[] args) { List<Account> data1 = new ArrayList<>(); data1.add(new […]

在kotlin中初始化数组

我在kotlin中创建一个haiku生成器,但是我得到一个奇怪的“变量firstLineArray必须初始化”在这个代码块上。 import java.util.Random fun oneSyllableWords() : String{ val oneSyllableWordArray = arrayOf("Life", "Love", "One", "On", "No", "Go") val random = Random() val randint = random.nextInt(oneSyllableWordArray.size) return oneSyllableWordArray[randint] } fun main(args:Array<String>){ var firstLineArray : Array<String> var syllablesRemaining = 5 while(syllablesRemaining<0) { val random = Random() val randint = random.nextInt(4) + 1 for (i in 0..4){ if(randint == […]

Kotlin反射是不可用的

我试图从这个视频的第一个例子学习更高级的功能。 这是我的代码和输出。 码 fun lowercase(value: String) = value.toLowerCase() fun higherOrder(value:String, op: (String) -> String) : String { println("Executing higher order fun $op") return op(value) } fun main(args: Array<String>) { println(higherOrder("HELLO", ::lowercase)) println(higherOrder("hello", {it -> lowercase(it)})) println(higherOrder("HeLlo", { x -> lowercase(x) })) println(higherOrder("Hello", { lowercase(it) })) } 产量 Executing higher order fun function lowercase (Kotlin reflection […]

kotlin RecyclerViewAdapter IndexOutOfBoundException

我已经从Java转移到Kotlin并创建这个rec​​yclerViewAdapter: class MisPedidosAdapter(private val context: Context, private var pedidos: List<ParseObject>?, private val onMisPedidosClickListener: OnMisPedidosClickListener) : CustomRecyclerViewAdapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { when(getItemViewType(viewType)){ STATIC ->return NoMisPedidosHolder(LayoutInflater.from(parent.context).inflate(R.layout.no_pedidos_recibidos_item, parent, false)) else -> return MisPedidosHolder(LayoutInflater.from(parent.context).inflate(R.layout.mis_pedidos_item, parent, false), onMisPedidosClickListener, pedidos) } } override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { if (getItemViewType(position) == STATIC) { val mHolder […]

使用Kotlin for Android进行数据绑定问题

我正在尝试使用Kotlin为我的Android项目启用数据绑定。 我有Kotlin插件启用,但我不能启用数据绑定我不断收到以下错误 Error:(66, 0) Could not find method kapt() for arguments [com.android.databinding:compiler:2.0.0-beta6] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 我有我的gradle文件中的数据绑定以下依赖关系 dependencies { … kapt 'com.android.databinding:compiler:2.0.0-beta6' } kapt { generateStubs = true }

javascript匿名对象在kotlin

如何在kotlin中创建JavaScript匿名对象? 我想创建这个对象传递给nodejs应用程序 var header = {“content-type”:”text/plain” , “content-length” : 50 …}

获取IntelliJ Kotlin插件和gradle匹配

我正在尝试IntelliJ 16,早期访问版本,但我的项目不会编译: Error:(16, 17) Kotlin: Unresolved reference: substring (note: this may be caused by the fact that some classes compiled with an incompatible version of Kotlin were found in the classpath. Such classes cannot be loaded properly by this version of Kotlin compiler. 据推测,Kotlin的Gradle和IntelliJ版本需要匹配,但安装的Kotlin插件是: 1.0.0-rc-1007-IJ143-11 我没有看到这在任何公共存储库。 我在Gradle项目中宣布的最新版本是: buildscript { ext.kotlin_version = ' 1.0.0-rc-1007-IJ143-11' 。 。 […]

将Kotlin文件转换为java,向其中添加java代码并将其转换回Kotlin,就像直接向Kotlin文件添加代码一样?

我想贡献一个Github上的Kotlin android项目,但是我不认识Kotlin。 假设我使用Android Studio中的“反编译”将Kotlin代码转换为Java,将我自己的java代码添加到转换后的文件,然后将编辑的文件转换回Kotlin。 如果我直接添加代码而不转换为java,那么生成的Kotlin代码是否一样? 如果我想在不了解Kotlin的情况下贡献一个Kotlin项目,这是一个可行的策略吗?