Questions tagged «kotlin-android-extensions»

9
尝试访问Kotlin片段中的视图时发生NullPointerException
如何与一起使用Kotlin Android扩展Fragment?如果我在内部使用它们onCreateView(),则会出现以下NullPointerException异常: 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'android.view.View android.view.View.findViewById(int)' 这是片段代码: package com.obaied.testrun.Fragment import android.os.Bundle import android.support.v4.app.Fragment import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.obaied.acaan.R import kotlinx.android.synthetic.main.fragment_card_selector.* public class CardSelectorFragment : Fragment() { val TAG = javaClass.canonicalName companion object { fun newInstance(): CardSelectorFragment { return CardSelectorFragment() } } override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, …

30
错误:任务':app:clean'的执行失败。无法删除文件
我正在尝试重建我的Android Studio Gradle项目(主要包含Kotlin代码),但UnableToDeleteFileException在清理/重建过程中开始抛出: Execution failed for task ':app:clean'. > Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar 在我尝试更改项目的包结构后,这种情况开始发生。不幸的是,我这样做是通过重命名和移动源文件夹,而不是通过Android Studio进行重构,这是一个坏主意。 我整天都在寻找解决这个问题的方法,而这些都是我一直没有用的方法: 做一个Gradle同步; 重新安装Java JRE和Java SDK; 重新安装最新版本的Android Studio(1.4); 回滚到以前的AS版本(1.3); 使AS缓存无效并重新启动; 删除项目目录中的gradle和.gradle目录; 删除.gradle用户目录中的目录; gradlew clean从AS终端运行; 手动将源复制到新项目中(奇怪的是它在项目中仍然存在...) 我尝试过的工作取得了一些成功,但只能让我再执行一次清理工作并在错误再次发生之前进行重建: 关闭AS,手动删除构建文件,然后再次打开; 查杀java.exe过程,而AS运行(这可以在技术上做到每一次,但它的繁琐,减缓构建过程) 因此,似乎出于某种原因,编译Java进程可能会锁定生成文件,但这也可能与Kotlin有关。我正在处理一个(更成熟的)Java Android项目,尽管在清理它时无法重现此错误。这似乎只发生在我的Kotlin项目上。 更新: 我发现问题是由Kotlin Android插件引起的。当我apply plugin: 'kotlin-android'从模块build.gradle文件中删除该问题时,该问题消失了;当我重新插入它时,该问题又出现了。随时对此提供任何见解。 更新2: 上次更新不是原因。我发现,如果项目包含Kotlin文件,则重建和清理将失败。即使删除了所有Kotlin文件,它仍然会失败,直到后台Java进程被杀死为止,这意味着它对构建文件具有某种锁定。我在此处提交了一个错误,其中包含更多详细信息和重现该错误的步骤:KT-9440

15
Android Studio中过时的Kotlin运行时警告
下载并安装了最新的Kotlin插件后,我收到了来自Android Studio的过时Kotlin运行时警告,告诉我: 您在'kotlin-stdlib-1.1.2'库中的Kotlin运行时版本为1.1.2,而插件版本为1.1.2-release-Studio2.3-3。应该更新运行时库,以避免兼容性问题。 我试图单击“ 更新运行时”按钮,但又收到另一条消息: 当前不支持Gradle项目的自动库版本更新。请手动更新您的build.gradle。 如何解决这个问题?

13
未解决的参考:kotlinx
我正在尝试在Android Studio中试用Kotlin和Kotlin Android扩展。我已经在Ubuntu 14.04上的Android Studio v 1.5.1和OS X El Capitan上的Android Studio v 1.5.1中尝试了相同的结果。 这是我在做什么: 我安装了Kotlin插件1.0.0-beta-35950-IJ141-11 创建一个新的空白Android项目 将MainActivity文件转换为Kotlin(通过help-> findaction->将文件转换为kotlin) 为Kotlin配置项目 然后,我进入生成的content_main.xml文件,并为“ Hello World!”添加一个ID(Hello)。TextView。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="com.gmail.npnster.mykotlinfirstproject.MainActivity" tools:showIn="@layout/activity_main"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:id="@+id/hello" /> </RelativeLayout> 然后,在转换后的MainActivity中,添加一行以设置TextView。(如下所示)。然后,Android Studio提示我(通过alt输入)插入此行(也如下所示) import kotlinx.android.synthetic.main.content_main.* …

5
Kotlin支持场有什么用?
作为Java开发人员,后备字段的概念对我来说有点陌生。鉴于: class Sample { var counter = 0 // the initializer value is written directly to the backing field set(value) { if (value >= 0) field = value } } 这个支持领域有什么好处?Kotlin文档说: Kotlin中的类不能具有字段。但是,有时使用自定义访问器时必须有一个后备字段。 为什么?在setter中使用属性名称本身有什么区别,例如* class Sample { var counter = 0 set(value) { if (value >= 0) this.counter = value // …


7
Kotlin合成在Adapter或ViewHolder中
我是科特林的新手。我发现并试图用合成的方法,而不是恼人的方法findViewById在我的Activity课,但我发现“如果我们想打电话查看合成属性(适配器类有用的),我们也应导入kotlinx.android.synthetic.main 。视图。*。” 但是我不知道它是如何工作的?有没有例子?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.