Tag: kotlin android extensions

Kotlin和Dagger 2:使用Provider类的问题

在网上冲浪之后,似乎没有类似的问题,它正在吃掉我。 在学习使用Dagger 2进行dependency injection的过程中,我试图将Java的一个例子翻译成Kotlin。 该项目在Java编译罚款,但使用Kotlin,不喜欢javax.inject.Provider类,并无法建立。 什么不见​​了? 这里的提供者类的使用是否对Kotlin不正确? 这是Gradle事件日志中的错误: repositorytrends\custom_implementations\RepoTrendsAppComponent.java:8: error: java.util.Map<java.lang.Class,? extends javax.inject.Provider<dagger.android.AndroidInjector.Factory>> cannot be provided without an @Provides-annotated method. 这是有问题的文件。 内部构造函数的参数(Map)是成功构建的决定因素: class ActivityInjector @Inject internal constructor(private val activityInjectors: Map<Class, Provider<AndroidInjector.Factory>>){ private val cache = HashMap<String, AndroidInjector>() internal fun inject(activity: Activity) { if (activity !is RepoTrendActivity) { throw IllegalArgumentException(“Activity must extend BaseActivity”) } val instanceId […]

为什么可空数字不保存身份

在kotlin nullable价值观不是保存身份而是平等, val a: Int = 10000 val boxedA: Int? = a val anotherBoxedA: Int? = a print(boxedA === anotherBoxedA) // !!!Prints ‘false’!!! print(boxedA == anotherBoxedA) // Prints ‘true’ 我只是想知道为什么这是不同的?

Kotlin Android应用程序编译失败,消息:未解决的参考:kotlinx

我正在基于“Kotlin for Android Developers”一书中的说明测试一个基于Kotlin的Android应用程序。 我正在使用Android Studio 2.1.1。 我有以下build.grade(项目:WeatherApp)设置: allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 我有以下build.grade(模块:应用程序)设置: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ buildscript { ext.support_version = ‘23.1.1’ ext.kotlin_version = ‘1.0.2’ ext.anko_version = ‘0.8.2’ repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.1.0’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version” […]

Dagger2不会生成Dagger类

Dagger2不会创建类Dagger *。 我创建了MyContainerComponent接口,但是不创建类DaggerMyContainerComponent! buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:2.2.3’ classpath “com.android.databinding:dataBinder:1.0-rc4” classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’ classpath ‘com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.4’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.6” } } allprojects { repositories { jcenter() mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir } 在build.gradle apply plugin: ‘com.android.application’ apply plugin: ‘android-apt’ apply plugin: ‘com.android.databinding’ apply plugin: ‘kotlin-android’ apply plugin: ‘com.frogermcs.androiddevmetrics’ […]

如何将字符串转换为Int和Long?

在我们使用的Java Integer.valueOf(str) 和 Long.valueOf(str) 得到integer但我们怎么能在Kotlin做同样的事情呢?

无法在android studio中调用variables

在这里输入图像描述我想做一个简单的调用我已经在Android应用程序中的布局资源如下。 我所需要做的就是能够使用像myInteger这样的variables(具有诸如1,2,3的值)并且调用R.layot

如何在kotlin的片段类中初始化视图?

我想在Kotlin下面这行代码的等效代码: TextView tv = view.findViewbyId(R.id.textView); 任何帮助?

异步获取Android Kotlin中的URL

所以我试图编写一个非常简单的Android应用程序,当按钮被按下时从URL获取响应。 kotlin Android扩展已经被广告作为Java中必要的样板的替代品,所以我试了我的手。 这是我到目前为止所尝试的: package com.example.susemihl.myapplication import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.TextView import kotlinx.android.synthetic.main.activity_main.* import kotlinx.coroutines.experimental.CommonPool import kotlinx.coroutines.experimental.async import kotlinx.coroutines.experimental.runBlocking import java.net.URL suspend fun fetch_url(url: String): String { return URL(url).readText() } fun fetch_async(url: String, view: TextView) = runBlocking { val result = async(CommonPool) { fetch_url(url) } view.setText(result.await()) } class MainActivity : AppCompatActivity() { override fun […]

Kotlin对象加载延迟

我有一个奇怪的问题,我有一个Android的初始登录活动,而它的onCreateMethod,被触发,我被Object类调用,这是一个名为BaseData的静态对象。 我得到一个奇怪的空错误,而它的一个对象。 发现对象在Kotlin中被延迟加载需要一段时间,我如何强制它首先加载,并在我的主登陆登录活动创建时可用。 class LoginActivity : BaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { if(BaseData.userId == “”) { //At this step BaseData itself comes as null, so app goes blank //Do something } } } object BaseData : Observable() { var initialSyncDone:Boolean = false var isOffline:Boolean = true var userId: String = “” init{ // I […]

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

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