布尔扩展函数

当我尝试创建扩展function设置布尔如下真假。 Boolean.setTrue(){ this = true } Boolean.setFalse(){ this = false } 它说预计variables 。 如何实现这一点。

编译为Javascript时使用Kotlin的Java标准库

我在Kotlin中实现了一个在浏览器中使用的库。 当我将其编译为Javascript时,找不到Java标准lib的依赖项,例如像PriorityQueue这样的集合类。 是否有可能说服编译器查找和编译这些类,或者是否有预编译的Javascript-Java标准库,还是只能使用Kotlin标准库?

Kotlin + Dagger2:不能提供没有@Inject构造函数或从@提供或@产生注释的方法

我收到以下错误: 错误:(8,1)错误:无法使用@Inject构造函数或@Proxy或@ Produces注释方法提供java.lang.String。 我被困在试图提供两个合格的字符串的模块。 这是匕首的简化设置。 @Singleton @Component(modules = [GreetingsModule::class]) interface AppComponent { fun inject(activity: MainActivity) } @Qualifier annotation class Spanish @Qualifier annotation class French @Qualifier annotation class English @Module @Singleton class GreetingsModule { @Provides @Spanish fun providesHola(): String = “Hola mundo! – From Dagger” @Provides @English fun providesHello(): String = “Hello world! – From Dagger” […]

Kotlin实体types参数不智能投射

我正在试验设置未初始化的值,并试图让以下工作。 这主要是对物化仿制的权力(和限制)的好奇心。 我试图为数据类的可选参数提供默认值。 inline fun uninitialized(): T = when (T::class) { Long::class -> -1L // Type mismatch. Required: T Found: Long String::class -> “” // Type mismatch. Required: T Found: String // and so on… else -> throw UnsupportedOperationException(“No uninitialized value defined for ” + T::class) } data class Thing( var id: Long = uninitialized(), […]

Kotlin中“as”和“is”运算符有什么区别?

在Java中,我可以编写如下代码: void cast(A a) { if(a instanceof Person) { Person p = (Person) a; } } 在Kotlin,我该怎么办? as操作员还是操作员?

Kotlin Activity不包含在APK中

我将我的第一个Kotlin代码(一个新的活动)介绍到已建立的Android应用程序中。 使用Android Studio 2.3.3,Gradle 3.3。 我能够构建和运行应用程序,但是在启动新的Kotlin活动时,应用程序崩溃,类没有发现exception。 分析APK表明Kotlin类没有被包括在dex(和它的multi-dex,已经检查了两个dex文件)。 build.gradle(项目) buildscript { ext.kotlin_version = ‘1.1.4’ repositories { jcenter() maven { url ‘https://maven.fabric.io/public’ } mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:2.3.3’ classpath ‘com.google.gms:google-services:3.0.0’ classpath ‘com.github.triplet.gradle:play-publisher:1.1.4’ classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’ classpath ‘io.fabric.tools:gradle:1.+’ classpath ‘me.tatarka:gradle-retrolambda:3.2.5’ classpath ‘com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.2.1’ // For automated ui testing classpath ‘com.stanfy.spoon:spoon-gradle-plugin:1.2.2’ // For Amazon Device Farm classpath ‘com.amazonaws:aws-devicefarm-gradle-plugin:1.2’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” […]

使用意向操作在Android Studio中创建Kotlin类

在Android Studio上使用Java时,我经常不必创建文件,只需输入要使用的类的名称,然后使用“Intent Actions”来解决问题并创建必要的文件。 问题是,当使用Kotlin时,如果需要的话,可以说一个接口,当我点击意图动作时,Android Studio将创建与我正在处理的文件相同的接口,而不是像选择包一样提供对话框对于Java。 任何想法如何解决这个问题?

使用伴随对象在Kotlin中返回类的一个实例

Android Studio 3.0 RC2 Kolin 1.1.51 我创建一个Android应用程序,我想返回扩展应用程序的类的实例,并访问您将使用静态在Java中的等价物。 class BusbyMoviesMainApplication : Application() { companion object { private val instance: BusbyMoviesMainApplication = BusbyMoviesMainApplication() @JvmStatic fun getBusbyInstance(): BusbyMoviesMainApplication { return instance } } } 我正在像这样访问它。 但是,getCacheDir返回null BusbyMoviesMainApplication.getBusbyInstance().getCacheDir() 我看不出我做错了什么。 在Java中,我已经这样做了,这是可行的,我正在尝试在Kotlin中做同样的事情: public class BusbyMoviesApplication extends Application { private static BusbyMoviesApplication mBusbyMoviesApplication; public static BusbyMoviesApplication getInstance() { return mBusbyMoviesApplication; } @Override […]

com.google.gson.internal.LinkedTreeMap不能转换为我的类

我从一个JSON字符串中获取我的对象有一些问题。 我有类Product public class Product { private String mBarcode; private String mName; private String mPrice; public Product(String barcode, String name, String price) { mBarcode = barcode; mName = name; mPrice = price; } public int getBarcode() { return Integer.parseInt(mBarcode); } public String getName() { return mName; } public double getPrice() { return Double.parseDouble(mPrice); } } […]

SwipeRefreshLayout会干扰ViewPager中的ScrollView

我有一个ViewPager周围的SwipeRefreshLayout。 由ViewPager加载的片段包含ScrollViews。 当我向下滚动它可以正常工作,但是当我向上滚动时,SwipeRefreshLayout激活而不让ScrollView先滚动。 我如何确保ScrollView具有优先权? 当SwipeRefreshLayout在ScrollView之外的独立片段中工作的很好,但是我需要它在ViewPager周围的活动本身。 以下是相关的布局: 活动: 由ViewPager加载的片段(有5个选项卡,每个都有其中之一): 如果你需要更多的信息,这里是GitHub上的回购: https : //github.com/sargunster/purdue-dining-courts-android