如何在不破坏expression式的情况下写入kotlin中的expression式? 在Java中,我们可以这样做。 int x = 3; switch (x){ case 1: System.out.println(“1”); case 2: System.out.println(“2”); case 3: System.out.println(“3”); // 3 will be printed case 4: System.out.println(“4”); // 4 will be printed } 结果: 3 4 我怎样才能达到这样的效果?
在Python中,我可以写: for i, element in enumerate(my_list): print i # the index, starting from 0 print element # the list-element 我怎样才能在Kotlin写这个?
当我和Kotlin一起玩时,我想知道是否可以为Kotlin写的JavaFX应用程序生成一个jar文件。 所以我写了一个简单的应用程序,它在IntelliJ IDEA上工作,但是当我决定生成它从来没有工作的jar! 它说,它找不到或加载主类。 我想问题是,当它要求在项目设置中的主类,我进入应用程序类名称(不包含main方法,因为它必须在包级别),而在纯Java中,我可以把主要的方法放在应用程序类中,它将完美工作。 那我该怎么解决呢? 编辑:只是试图将目标从JavaFX应用程序更改为一个正常的jar子,它的工作。 不知道为什么它不适用于JavaFX应用程序目标。
如何在Java中实现Kotlin中的OnClickListener接口,并处理切换大小写的ID? 例如,我有两个按钮,每按一下按钮,我必须调用一个函数。
我已经inheritance了一个老的Kotlin代码库,试图用最新的编译器进行编译有很多问题。 我搞不清楚的是这些奇怪的function,在课堂中间闲逛,没有任何明显的呼唤。 我想知道是否有人知道这个曾经是什么,以及它在Kotlin的新版本中取代了什么? public class SomeAdapter(val friends: SomeAdapterProvider, val listener: OnItemClickedListener) : RecyclerView.Adapter() { trait OnItemClickedListener { fun onItemClicked(f: Friendship) } private inner class ViewHolder(v: View) : RecyclerView.ViewHolder(v), View.OnClickListener { override fun onClick(v: View) { listener.onItemClicked(somethings[getPosition()]) } val text: TextView by inject(android.R.id.text1) val image: Picture by inject(R.id.imageview); { itemView setOnClickListener this } } { setHasStableIds(true) […]
使用本手册http://www.techotopia.com/index.php/Kotlin_Android_Broadcast_Intents_and_Broadcast_Receivers#.EF.BB.BFSummary我已经在Kotlin中实现了BroadcastReceiver,所以我期望在重新启动后,应用程序将启动,但它不会。 请帮忙。 谢谢! 广播接收器 class BroadcastReceiverOnBootComplete : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { if (intent.action.equals(Intent.ACTION_BOOT_COMPLETED, ignoreCase = true)) { val message = “Broadcast intent detected ” + intent.action Toast.makeText(context, message, Toast.LENGTH_LONG).show() } } } 清单文件 MainActivity与BroadcastReceiver class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { private var launchers = ArrayList() private var mStoredPrimaryColor = 0 […]
我有View和一个CircleShape,它应该在这个视图中显示敬酒。 我在主要活动中使用它。 这是我的界面 interface OnClickListenerInterface { fun onClick() } 这是CircleShape(这是在我的XML视图)和监听器在我的视图。 我想在我的Activity中实现OnClick。 var listener: OnClickListenerInterface? = null mCircleShape.setOnClickListener(View.OnClickListener { if (listener == null) return@OnClickListener listener!!.onClick() }) 我知道,在Kotlin getters和setters通用自动化,但如何我可以设置监听器,如果它是私人的。 这是我的活动代码,但它不起作用 CircleShape.listener = object :OnClickListenerInterface{ override fun onClick() { ToastUtils.showSuccessMessage(getContext(),”pressed”) } } 我应该如何在Kotlin中使用Callback,onClickListenere?
在Kotlin,我们可以改变下面的内容 // Original code var commonObj = ClassCommonObj() commonObj.data1 = dataA commonObj.data2 = dataB commonObj.data3 = dataC // Improved code var commonObj = ClassCommonObj() with(commonObj) { data1 = dataA data2 = dataB data3 = dataC } 但是在下面的Swift中,我是否具有与with函数相同withfunction? // Original code var commonObj = ClassCommonObj() commonObj.data1 = dataA commonObj.data2 = dataB commonObj.data3 = dataC
我将一个Java Android项目转换为Kotlin。 我正在使用API.AI的客户端 ,它有两个AIConfiguration类: 超 package ai.api; public class AIConfiguration implements Cloneable { public static enum SupportedLanguages { English(“en”), //… } //… } 子类 package ai.api.android; public class AIConfiguration extends ai.api.AIConfiguration { public enum RecognitionEngine { //… } 在我的Java代码中,我正在创建一个子类的实例,正如api指南中的建议: final AIConfiguration config = new AIConfiguration(“TOKEN”, AIConfiguration.SupportedLanguages.English, AIConfiguration.RecognitionEngine.System); 一旦转换为Kotlin,看起来像这样: val config = AIConfiguration(“TOKEN”, AIConfiguration.SupportedLanguages.English, AIConfiguration.RecognitionEngine.System) …导致Unresolved […]
在Kotlin中可以进行类似于在Python中完成的参数解包吗? 例如 >>> a = [1,2,3] >>> b = [*a,4,5,6] >>> b [1, 2, 3, 4, 5, 6] 我知道Kotlin可能如下: >>> listOf(1, 2, 3, *listOf(4,5,6).toTypedArray()) [1, 2, 3, 4, 5, 6] 感觉Kotlin有一个更简单的方法。 有任何想法吗?