Tag: 安卓

Android – 在Kotlin中声明和使用视图

我正在尝试使用android的kotlin,并尝试像这样声明Linearlayout: internal var linlay_SuccessfulPayment : LinearLayout = null!! internal var linlay_failPayment : LinearLayout linlay_SuccessfulPayment = findViewById(R.id.linlay_SuccessfulPayment) as LinearLayout linlay_failPayment = findViewById(R.id.linlay_failPayment) as LinearLayout 但在日志中我得到这个: Caused by: kotlin.KotlinNullPointerException at com.example.activities.PaymentResult.<init>(Result.kt:14) at java.lang.Class.newInstance(Native Method) at android.app.Instrumentation.newActivity(Instrumentation.java:1096) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3122) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) at android.app.ActivityThread.access$1100(ActivityThread.java:229) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:7329) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) […]

Android Kotlin受保护属性公开其私有类型ExpiresLayout

我使用Android Studio Kotlin插件转换了我的Java Activity类。 Android Studio > Code > 'Converting Java code to Kotlin' 我得到这个错误。 错误:(109,19)'protected(in Fragment)'属性暴露了它的'private'类型ExpiresLayout 码 protected val mExpiresLayout = ExpiresLayout.NORMAL 任何想法? 谢谢

用新的kotlin 1.1构建错误,kapt不能解析数据绑定参数

我更新了我的项目从android studio 2.2到android studio 2.3,并将项目从kotlin 1.06增加到kotlin 1.1 这是我得到的错误 :app:javaPreCompileDebug :app:transformClassesAndDataBindingWithDataBindingMergeArtifactsForDebug UP-TO-DATE :app:compileDebugKotlin w: The '-d' option with a directory destination is ignored because '-module' is specified :app:compileDebugJavaWithJavac Processor path was modified by kapt. Previous value = /home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.1.0/ef03cfed144ff47eed2cab1f7be4381bc18a6237/kotlin-stdlib-jre7-1.1.0.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/commons-io/commons-io/2.4/commons-io-2.4.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/com/android/databinding/compilerCommon/2.3.0/compilerCommon-2.3.0.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/home/harisvsulaiman/Sdk/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.1/constraint-layout-solver-1.0.1.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0.jar:/home/harisvsulaiman/Sdk/extras/android/m2repository/com/android/support/support-annotations/25.2.0/support-annotations-25.2.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.1.0/96a07041a11a09cf578892932d7511e1e11e3b6c/kotlin-stdlib-1.1.0.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/com/android/databinding/baseLibrary/2.3.0/baseLibrary-2.3.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.airbnb.android/epoxy-annotations/1.7.5/509abda14719aa31f55123c9a757bdadc8f45818/epoxy-annotations-1.7.5.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/io.realm/realm-annotations-processor/3.0.0/61c2ac9e7a068736558e69d585cfa777b35058b2/realm-annotations-processor-3.0.0.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/com/android/tools/annotations/24.5.0/annotations-24.5.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/glide/3.7.0/9e9eeaf9948ee4d6c3ab354e8dc14368f16994a4/glide-3.7.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.2.6/de0c509ae6c9db5b5b6004a9d102c92708346f7c/rxjava-1.2.6.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.11.0/840897fcd7223a8143f1d9b6f69714e7be34fd50/okio-1.11.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.squareup.retrofit2/adapter-rxjava/2.2.0/d80514b6f44f0c4c6234e2d67fea783a25e77275/adapter-rxjava-2.2.0.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/com/android/databinding/compiler/2.3.0/compiler-2.3.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/io.realm/realm-annotations/3.0.0/32a01bbb8cb421b6d53d7a102412142b0391c8c7/realm-annotations-3.0.0.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.squareup.retrofit2/retrofit/2.2.0/41e67dba73c3347e4503761642c39d0e06ca1f2/retrofit-2.2.0.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.6.0/69edde9fc4b01c9fd51d25b83428837478c27254/okhttp-3.6.0.jar:/home/harisvsulaiman/.android/build-cache/478fd1ace0e77af57c87f42a281aed180d5ce276/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/d7d6ec093cb49766f796118979b331d6f5c2b4c4/output/jars/classes.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/io.realm/realm-annotations/3.0.0/32a01bbb8cb421b6d53d7a102412142b0391c8c7/realm-annotations-3.0.0.jar:/home/harisvsulaiman/.android/build-cache/17205aea1b3195cf38fb66c2e060ee4beed141f8/output/jars/classes.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.squareup.retrofit2/adapter-rxjava/2.2.0/d80514b6f44f0c4c6234e2d67fea783a25e77275/adapter-rxjava-2.2.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.squareup.retrofit2/retrofit/2.2.0/41e67dba73c3347e4503761642c39d0e06ca1f2/retrofit-2.2.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.6.0/69edde9fc4b01c9fd51d25b83428837478c27254/okhttp-3.6.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.11.0/840897fcd7223a8143f1d9b6f69714e7be34fd50/okio-1.11.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.2.6/de0c509ae6c9db5b5b6004a9d102c92708346f7c/rxjava-1.2.6.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/glide/3.7.0/9e9eeaf9948ee4d6c3ab354e8dc14368f16994a4/glide-3.7.0.jar:/home/harisvsulaiman/.android/build-cache/6249fbc26c3c324164d6bccd213e772dbffabab8/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/00346f3603afd369923753ca5b3574b3cbd68913/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/44456db0af44370448077b85155ec1b111460aaf/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/ab1b9ebddb2122246c96bfd338f92a2af4329445/output/jars/classes.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/com.airbnb.android/epoxy-annotations/1.7.5/509abda14719aa31f55123c9a757bdadc8f45818/epoxy-annotations-1.7.5.jar:/home/harisvsulaiman/.android/build-cache/fb128d6e98efde38d1b59985fb85f2eee1b186eb/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/c9550d2fd003ae92d1406c8c46f2b35cffe031ce/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/08e46ece36546bbc2b85ffa90c6a8a4cf3bbab10/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/b293042c81288354130e748246586e2669e423d1/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/6a84f4dc5c9dda9b0a661c34b982f15791783194/output/jars/classes.jar:/home/harisvsulaiman/Sdk/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.1/constraint-layout-solver-1.0.1.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.1.0/ef03cfed144ff47eed2cab1f7be4381bc18a6237/kotlin-stdlib-jre7-1.1.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.1.0/96a07041a11a09cf578892932d7511e1e11e3b6c/kotlin-stdlib-1.1.0.jar:/home/harisvsulaiman/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar:/home/harisvsulaiman/.android/build-cache/79467da2ee5fd2328774a23645475ecb9d0946fd/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/02c10559b235748437a45d6ca44f6c5e5230c4e9/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/82bf4ec6a1051c7130958118c35d8fb99643c133/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/8dd8873d08fda228f6ea3117e6073fd14e35a5d4/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/8fc507ef1c90eab75de9d0123ad4b7535753f320/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/5fb2bef0cb0bba8cf7f981cadcf1cf142a325276/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/0727c2e3f4507058ea7ae52687ced332bf06362f/output/jars/classes.jar:/home/harisvsulaiman/.android/build-cache/31d4c76434ce8a5ba46bf630f178e855f7516250/output/jars/classes.jar:/home/harisvsulaiman/Sdk/extras/android/m2repository/com/android/support/support-annotations/25.2.0/support-annotations-25.2.0.jar:/home/harisvsulaiman/android-studio/gradle/m2repository/com/android/databinding/baseLibrary/2.3.0/baseLibrary-2.3.0.jar Destination for generated sources was modified by kapt. Previous value = /home/harisvsulaiman/AndroidStudioProjects/Hafiz/app/build/generated/source/apt/debug :app:compileDebugKotlinAfterJava w: The '-d' option with […]

Dagger2 @Nullable注释与Kotlin

从匕首模块: @Provides @PerMediaSession @Nullable MediaControllerCompat provideMediaController(Context appContext, MediaSessionCompat mediaSessionCompat) { try { return new MediaControllerCompat(appContext, mediaSessionCompat.getSessionToken()); } catch (RemoteException e) { e.printStackTrace(); return null; } } 我注入的地方 class PlayerPresenter @Inject constructor(val fileManager: FileManager, @Nullable val mediaController: MediaControllerCompat?) : PlayerContract.Presenter { <…> 我得到以下编译错误 Error:(15, 10) error: android.support.v4.media.session.MediaControllerCompat is not nullable, but is being provided by @Provides […]

Live模板不能在Kotlin中工作

希望你已经使用Android默认的实时模板。 喜欢: Generate debug log statement: "logd"+TAB Generate error log statement: "loge"+TAB Generate info log statement: "logi"+TAB Generate TAG declaration: "logt"+TAB Generate parameter logging: "logm"+TAB Generate method return log: "logr"+TAB 它在KOTLIN中不可用? 在Android Studio 3.0 Canary版本中不可用吗?

数据绑定Kotlin Android工作室错误

我正在尝试在我的项目中使用数据绑定库,这是写在Kotlin。 我正在使用Kotlin v.1.0.2&Gradle插件v。2.12和绑定编译器。 我的build.gradle配置如下: android { dataBinding { enabled = true } } kapt { generateStubs = true } dependencies { kapt "com.google.dagger:dagger-compiler:2.2" provided "org.glassfish:javax.annotation:10.0-b28" kapt "com.android.databinding:compiler:2.12" } 在我的Fragment布局中,我用一些变量声明了<data>块: <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <import type="android.view.View"/> <import type="com.xxx.ui.AuthorizationPresenter"/> <import type="com.xxx.entity.AuthProvider"/> <variable name="model" type="com.xxx.ui.authorization.Model"/> <variable name="presenter" type="com.xxx.ui.authorization.AuthorizationPresenter"/> </data> <FrameLayout … /> </layout> 然后在我的AuthorizationFragment.kt类中设置这些变量: override fun […]

Kotlin参数类型不匹配

我试图将下面的Java代码转换为Kotlin。 它编译和工作正常。 public abstract class MvpViewHolder<P extends BasePresenter> extends RecyclerView.ViewHolder { protected P presenter; public MvpViewHolder(View itemView) { super(itemView); } public void bindPresenter(P presenter) { this.presenter = presenter; presenter.bindView(this); } public void unbindPresenter() { presenter = null; } } 在我目前的代码中,我得到了一个presenter.bindView(this)的错误状态Required: Nothing, Found: MvpViewHolder 。 abstract class MvpViewHolder<P>(itemView: View) : RecyclerView.ViewHolder(itemView) where P : BasePresenter<*,*> { […]

在Android的Kotlin的帮助下开始一个项目

我是Android的Kotlin新手,我刚刚开始学习。请让我知道我应该如何知道Kotlin在Kotlin的帮助下在Android中创建项目。

Kotlin中每个类只允许有一个伴随对象

我正在从Java切换到Android Devlopment的kotlin。 当我在Kotlin中搜索相当于Java静态方法时,发现伴侣对象是。 但问题是在kotlin中创建多个静态方法。 我得到这些错误,每个类只允许有一个伴随对象。

Kotlin的平台常见类是什么?

我想用Kotlin来定义客户端和服务器之间的接口。 目前,Kotlin可以用于3个平台:Java,Android,Web(JS)。 我可以在所有这些平台上使用哪些Kotlin嵌入式课程? 我希望kotlin-stdlib和kotlin-stdlib-js之间有一些通用的库依赖关系,但是找不到。 另一方面,我设法创建了以下可在所有3个平台上使用的界面: interface SomeApi { fun update(params: Collection<String>) } 那么,除了Collection之外,我怎样才能找出在所有平台上可以使用什么?