在Kotlin中获得线程安全属性的最简单方法是什么?

在Kotlin中获取Doubletypes的线程安全属性是最简单的方法吗? class SomeClass { @Volatile var someProp : Double? = null @Synchronized get @Synchronized set }

Kotlin Android库模块导出与gradle maven-publish插件不添加依赖关系

我正尝试使用gradle的maven-publish 插件导出在Kotlin中开发的Android库模块。 aar文件被成功生成并导出,但是没有依赖项被添加到它 – 完全不包括Kotlin的。 下面是基于这个答案的插件配置: apply plugin: ‘maven-publish’ Properties properties = new Properties() properties.load(project.rootProject.file(‘local.properties’).newDataInputStream()) ext { releaseRepository = “s3://****/maven/releases” snapshotsRepository = “s3://****/maven/snapshots” artifactRepository = “$buildDir/outputs/aar/render-engine-release.aar” _version = properties.getProperty(‘lib.version’) _artifact = properties.getProperty(‘lib.name’) _group = properties.getProperty(‘lib.group’) } task sourceJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier “source” } publishing { publications { maven(MavenPublication) { groupId _group artifactId _artifact […]

如何将这个Java类重写为Kotlin数据类?

我在Java中有这个: public class User { String name; String id; int age; public User(String name) { this.name = name; } public User(String name, String id) { this.name = name; this.id = id; } public User(String id, int age) { this.id = id; this.age = age; } public User() { } public String getName() { return name; […]

Kotlin,generics和一个可能没有任何参数的函数

我试图将这个样板转化成一个非常常见的模式,Kotlin让我感到非常亲近。 我已经构建了一个类作为监听器管理器,如下所示: class GenericListenerSupport Unit> { private val listeners = mutableListOf() fun addListener(listener: ListenerFunction) { listeners.add(listener) } fun removeListener(listener: ListenerFunction) { listeners.remove(listener) } fun fireListeners(argument: EventArgumentType) { listeners.forEach { it.invoke(argument) } } } 它可以使用如下: class ExampleWithArgument { private val listenerSupport = GenericListenerSupportUnit>() fun exampleAdd() { listenerSupport.addListener({ value -> System.out.println(“My string: “+value)}) } fun exampleFire() { […]

Kotlin setTargetFragment

我有问题要调用对话框回调。 我在用: class PerfilFragment : Fragment() { val fragment = MyDialog() fragment.setTargetFragment(**this**, 1) val fm = activity.fragmentManager fragment.show(fm, “myfragment”) } 但setTargetFragment方法要求一个片段,而不是我运行的PerfilFragment : Type mismatch – Required: fragment, found PerfilFragment

将Kotlin下载到Android Studio时出现与证书相关的错误

我正在努力实现的是: 所以我试图把Kotlin安装到Android Studio中。 我相信它已经安装了,但是当Gradle尝试构建项目时,我得到一个错误。 这是我的错误进入的地方。 问题: 当Gradle尝试构建项目时,它给了我这个错误: 错误:原因:找不到要求的目标的有效证书路径 这是我的build.gradle项目文件: buildscript { ext.kotlin_version = ‘1.1.2-4’ repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.3.2’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { […]

如何获得日期从7天前到今天在Kotlin?

我想从7天前到Kotlin的日期。 有什么建议么? 这是我迄今为止 val date = Calendar.getInstance() val yesterday = Calendar.getInstance() yesterday.add(Calendar.DATE,-1) var todayOrYesterday:String? var todayDate = date.time while (todayDate > yesterday.time){ val formatter = SimpleDateFormat(“EEEE, d MMMM yyyy”) val format = formatter.format(todayDate) println(format) todayOrYesterday = if (DateUtils.isToday(date.timeInMillis)) { “Today” }else “Yesterday” date.add(Calendar.DATE,-7) }

Kotlinx不能解决符号“合成”

尝试Kotlin,在项目中配置Kotlin,添加了kotlin-android-extensions ,还添加了依赖… import kotlinx.android.**synthetic**.main.content_main.* [

Kotlin使用RxJava2来观察观察者

Android Studio 3.0 Beta2 我创建了两个方法,一个创建观察者,另一个创建订阅者。 不过,我有一个问题试图让订阅者订阅观察。 在Java中这将工作,我正在努力让它在Kotlin工作。 在我的onCreate(..)方法,我试图设置这个。 这是正确的方法来做到这一点? class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) /* CANNOT SET SUBSCRIBER TO SUBCRIBE TO THE OBSERVABLE */ createStringObservable().subscribe(createStringSubscriber()) } fun createStringObservable(): Observable { val myObservable: Observable = Observable.create { subscriber -> subscriber.onNext(“Hello, World!”) subscriber.onComplete() } return myObservable } fun createStringSubscriber(): Subscriber […]

Android kotlin:无法读取类文件

编辑:这比我想象的简单得多,我只需要清理项目! 我试图在一个包含GridView的片段中定义一个接口,以强制任何将附加片段来实现该接口和onImageSelected方法的活动。 有一次,我检查活动是否正确实现了接口,我把它转换到一个回调对象。 class MasterListFragment : Fragment(){ lateinit var mCallBack: OnImageClickListener interface OnImageClickListener{ fun onImageSelected(position: Int) } override fun onAttach(context: Context?) { super.onAttach(context) if(context !is OnImageClickListener) throw ClassCastException(context.toString() + “must implement OnImageClickListener”) else mCallBack = context } override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater?.inflate(R.layout.fragment_master_list, container, false) var adapter […]