Tag: 安卓

Kotlin中的Activity Activity静态启动器方法

在java中,可以为Activity定义一个starter静态方法。 在Android Studio中,甚至还有一个“启动器”模板:它看起来像这样: public class MyActivity extends AppCompatActivity { private static final String EXTRA_FOO = "foo"; public static void start(Context caller, String bar){ Intent intent = new Intent(caller, MyActivity.class); intent.putExtra(EXTRA_FOO, bar); caller.startActivity(intent); } } 我在Kotlin(Android Studio 3.0 Canary4)中围绕着这个相同的概念,最近的事情是这样的: class MyActivity : AppCompatActivity() { companion object { private val EXTRA_FOO = "foo" fun start(caller: Context, bar: […]

Android工作室插件ID:'kotlin-android-extensions'

我正在使用gradle,并且正在尝试将kotlin添加到我的项目中。 但是当我试图为gradle添加“kotlin-android-extensions”插件时,它无法找到它。

Kotlin在null上的非null断言

由于Kotlin有非null断言,我发现了一些有趣的东西… val myvar: String = null!! 它会崩溃。 但重点是,它不会在编译时检查。 该应用程序将在运行时崩溃。 不应该抛出编译时错误?

Kotlin构造函数崩溃

在关于kotlin继承的每一个单独的教程中,我已经看到了一个这样的例子: class SubClass(pref : String) { fun theSubClassMethod() : String { return "The subclass method" } } 但是,如果我这样使用它,出于某种原因,我得到这个例外: java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics; at abccom.logic.SubClass.<init>(SubClass.kt) at abccom.kotlinplayground.MainActivity.onCreate(MainActivity.kt:39) at android.app.Activity.performCreate(Activity.java:6374) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2767) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2879) at android.app.ActivityThread.access$900(ActivityThread.java:182) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1475) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:6141) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) Caused […]

在EditText Kotlin,Android中设置文本

我试图在edittext中设置文本,但它说类型不匹配需要可编辑的发现字符串我的代码如下 String name = "Paramjeet" val nametxt = findViewById (R.id.nametxt) as EditText nametxt.text = name 不要说使用SetText,因为我使用kotlin而不是java

在Kotlin中定义log TAG常量的最好方法是什么?

我在我的Android应用程序中创建了我的第一个Kotlin类。 通常为了记录的目的,我有一个名字为TAG的常量。 我会在Java中做什么是: private static final String TAG = MyClass.class.getSimpleName(); 我知道在Kotlin类中我可以用这种方式创建TAG : private val TAG = MyClass::class.java.simpleName 这对于使用Java和Kotlin的项目来说是可以的,但是如果我开始一个仅在Kotlin中的新项目呢? 我怎样才能定义TAG常量? 有没有更多的KOTLIN方式,我没有这个奇怪的建设class.java.simpleName ?

AndroidStudio ExternalSystemException与kotlin 0.12.213

环境 鉴于我有: Kotlin 0.12.213 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.gms:play-services:7.5.0' compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.android.support:support-v4:22.2.0' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } buildscript { ext.kotlin_version = '0.12.213' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" } } Gradle插件1.2.3 classpath 'com.android.tools.build:gradle:1.2.3' Android Studio AI-141.1972460 问题 当我运行我的android应用程序时,我得到: com.android.ide.common.blame.output.GradleMessage$Kind PluginClassLoader[org.jetbrains.kotlin, 0.12.200.Idea141.8] com.intellij.openapi.externalSystem.model.ExternalSystemException: com.android.ide.common.blame.output.GradleMessage$Kind PluginClassLoader[org.jetbrains.kotlin, 0.12.200.Idea141.8] at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:223) at […]

getFragmentManager()不在Kotlin中工作

我试图在我的项目中本地启动一个包含在库模块中的DialogFragment。 我打电话给它的类是使用Kotlin ,我得到了以下函数getFragmentManager()的错误: 下面的函数都不能用提供的参数调用 import com.github.adamshurwitz.materialsearchtoolbar.SearchDialogFragment … private var searchDialogFragment: SearchDialogFragment? = null … searchDialogFragment = SearchDialogFragment() searchDialogFragment.show(supportFragmentManager, null) 我有另一个项目,我在Java中调用它,它使用getSupportFragmentManager() 。 我试过的解决方案: searchDialogFragment.show(getFragmentManager(), null) searchDialogFragment.show(supportFragmentManager, null) searchDialogFragment.show(supportFragmentManager as FragmentManager, null) searchDialogFragment.show(supportFragmentManager.beginTransaction(), null) searchDialogFragment.show(supportFragmentManager(), null)

Intellij IDEA不显示Kotlin文件中的Android资源的可用建议

我有一个Kotlin文件,我想通过R.java文件访问一些Android资源。 在这种情况下,Intellij IDEA不会显示可用的建议有点像R.layout.main 请看这个截图 这是在IDEA / Kotlin插件的问题,或者我必须配置一些东西? Kotlin plugin 0.7.270.1 Intellij IDEA IC-135.1019 Andorid API 19 Java 7 Android Build tools 19.1

Firebase在Android上与Kotlin无法解析的超类型

我在使用Firebase核心和消息传送v11.4.2的项目中遇到问题。 gradle同步完美工作,但编译时出现这个错误: e:以下类的超类型无法解析。 请确保您在类路径中具有所需的依赖关系: 类com.google.android.gms.internal.zzctr,未解析的超类型:com.google.android.gms.internal.zzee 失败:生成失败,出现异常。 出了什么问题:执行任务':app:compileDebugKotlin'失败。 编译错误。 查看日志了解更多详情 我已经用Kotlin版本1.1.51和1.2.0-beta-88试过; Gradle插件v2.3.3和3.0.0 欢迎任何帮助,非常感谢! 这是我配置项目的方式: 应用程序build.gradle // tried adding and removing the -kapt and -android-extensions. Didn't help. apply plugin: 'com.android.application' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'io.fabric' debug { /// added this to be sure the class was not being left out […]