Tag: kotlin extension

Android Studio 3无法建立kotlin片段

我试图使用Android Studio 3.0与我现有的项目Kotlin。 我用kotlin创建了一个片段。 我试图在我的Java活动中使用kotlin片段。 但每次我尝试运行它,我都会得到 Error:(209, 5) error: cannot find symbol class BlankFragment BlankFragment.kt import android.content.Context import android.net.Uri import android.os.Bundle import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup class BlankFragment : Fragment() { // TODO: Rename and change types of parameters private var mParam1: String? = null private var mParam2: String? = null private […]

如何遍历kotlin中的hasmap?

我是Kotlin新手,在迭代hashmap时遇到了麻烦 typealias HashMap<K, V> = HashMap<K, V> (source)

用Kotlin抛出异常

我试图将这个Java代码转换为Kotlin: public class HeaderInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { return null; } } 问题是,当我实现这些方法时,我得到了类似的东西 class JsonHeadersInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain?): Response? { throw UnsupportedOperationException() } } 我发现在Kotlin中抛出异常的唯一信息就是这个 。 删除问号的一部分,因为没有必要,为什么不以同样的方式处理IOException呢? 处理这种情况的最佳方法是什么?

如何在Kotlin中将Java静态方法添加到Java类中

是否有可能添加一个新的静态方法到Kotlin的java.lang.Math类? Kotlin扩展通常可以使用Kotlin。 我已经尝试在一个名为Extensions.kt的文件中执行以下操作: fun Math.Companion.clamp(value:Double,minValue:Double,maxValue:Double):Double { return Math.max(Math.min(value,maxValue),minValue) } 但Math.Companion无法解决…

Kotlin:创建扩展函数文件?加

我正在Kotlin开发一些库,我没有找到这个解决方案, 我怎么能解决这个问题, 这是说,创建扩展功能File?.plus ,在Java中它的工作正常,但在Kotlin如何写这个代码? 先谢谢你。

Kotlin扩展冲突

如果我有一个jar,在类路径上,我已经创建了一个扩展函数来说参数的String类,我有另一个jar在String上具有相同的扩展函数,Kotlin将如何解决这两个? 我认为,如果两个函数是在相同的包中定义,那么会有冲突? 但是,如果不同的包,我怎么能区分这两个扩展?

Kotlin扩展功能访问Java专用字段

在使用Kotlin 扩展功能时,我想访问Java的专用字段 。 假设我有一个Java类ABC 。 ABC只有一个私人字段mPrivateField 。 我想在Kotlin中写一个扩展函数,无论出于什么原因都使用这个字段。 public class ABC { private int mPrivateField; } Kotlin函数将是: private fun ABC.testExtFunc() { val canIAccess = this.mPrivateField; } 我得到的错误是: Cannot access 'mPrivateField': It is private in 'ABC' 任何方式来解决这个限制?

Kotlin用Android构建问题

将Kotlin集成到一个使用multidex的大型项目中。 所以当我尝试构建时,我得到这个错误: :incrementalDesygnerDebugJavaCompilationSafeguard UP-TO-DATE :compileDesygnerDebugKotlin WARN: Failed to initialize native filesystem for Windows java.lang.RuntimeException: Could not find installation home path. Please make sure bin/idea.properties is present in the installation directory. 路径似乎正确配置和idea.properties文件似乎在那里: C:\Program Files\Android\Android Studio\bin\idea.properties 建筑物需要几分钟才能停下来,所以我从Windows的任务管理器手动停止。 当我重试 – 构建成功! 但是,当我改变一条线,并重建它再次显示相同的错误。 有时我也会得到这个: The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: PermGen […]

Android库不能编译kotlin

我的项目有两个项目: main project和library project 。 main project依赖library project 。 现在我想用kotlin他们两个。 我已经将我的common rx extension code添加到library project : fun String.rxRequest(@NotNull builder: (Request.Builder) -> Unit): Observable<Response> = Observable.create<Response> { var mBuilder: Request.Builder = Request.Builder().url(this) builder.invoke(mBuilder); it.onNext(HttpClient.create().newCall(mBuilder.build()).execute()) it.onCompleted() }.subscribeOn(Schedulers.from(THREAD_POOL_NET)); 然后我在我的main project调用这个函数: "http://www.xxx.xxx".rxRequest { val requestBody = FormEncodingBuilder().add("code", code).build() it.post(requestBody) .header("XRDid", appInfo.deviceId) } 它建立失败: LoginPresenter.kt: Unresolved reference: rxRequest library project构建成功,生成在build文件夹中的kotlin […]

如何检查kotlin中的“instanceof”类?

在kotlin类中,对于类类型T ,我有作为对象的方法参数(请参见kotlin doc)。 作为对象,我正在调用方法时传递不同的类。 在Java中,我们可以使用它的类的对象的instanceof来比较类。 所以我想在运行时检查和比较它是哪个类? 我如何检查kotlin中的instanceof类?