我在我的kotlin活动中使用Anko DSL布局。 我不能将底部边距设置为FAB。 正确的利润工作。 在我的活动 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) (application as SamfantozziApp).dgaeacomponent().inject(this) InvoiceListKtActivityUI(_rxBus).setContentView(this) } 我的Anko DSL布局InvoiceListKtActivityUI.kt class InvoiceListKtActivityUI (val _rxBus: RxBus): AnkoComponent{ override fun createView(ui: AnkoContext): View = with(ui){ return relativeLayout{ padding = dip(5) lparams { width = matchParent height = wrapContent margin = 5 } verticalLayout{ tabLayout{ lparams { width = matchParent […]
我刚开始使用并开始搞抽象类,重写val和singelton。 但是,我刚刚遇到一个非常奇怪的行为。 我的目标是要有一个抽象类,然后创建几个扩展抽象类的singelton。 因为我想要求某些variables,我创建了抽象的val,然后可以在子类中重写(而不是通过构造函数传递它们)。 所以我有四个class: 主要活动: class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val instance = Instance() Log.d(“MainActivity”, “instance randObject: ${instance.randObject}”) Log.d(“MainActivity”, “instance randObject: ${instance.randObject.myProp}”) Log.d(“MainActivity”, “instance randObject: ${instance.randObject.myProp2}”) Log.d(“MainActivity”, “singleton randObject: ${Object.randObject}”) Log.d(“MainActivity”, “singleton randObject: ${Object.randObject.myProp}”) Log.d(“MainActivity”, “singleton randObject: ${Object.randObject.myProp2}”) } } 例如: class Instance: AClass(){ override val testString: […]
我试图写一个应用程序来理解火花和匕首2.但无法使用生成的匕首文件。 这个问题有很多类似的问题,但是我不能用这些问题来解决问题。 我的项目可以在这里findgithub build.gradle文件看起来像这样 … apply plugin: ‘kotlin-kapt’ dependencies { compile “org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version” compile “com.sparkjava:spark-kotlin:$spark_kotlin_version” compile “org.slf4j:slf4j-log4j12:$slf4j_version” compile “com.google.dagger:dagger:$dagger_version” kapt “com.google.dagger:dagger-compiler:$dagger_version” testCompile group: ‘junit’, name: ‘junit’, version: ‘4.12’ } …. 这是我试图注入的SparkSetup.kt类。 这个模块和组件存在于co.pissarra.util.dagger包中 SetupModule.kt的内容如下所示 @Module class SetUpModule { @Provides @Singleton fun provideSparkSetup() : SparkSetup { return SparkSetup() } } 这是AppComponent.kt类 @Singleton @Component(modules = arrayOf(SetUpModule::class)) interface AppComponent { […]
我有一个Kotlin源文件,但是我想把它翻译成Java。 我如何将Kotlin转换为Java源代码?
我试图让Kotlin编译器生成Java 1.8字节码而不是1.6字节码。 官方文档和这个StackOverflow的问题都说你需要使用这样的代码: compileKotlin { kotlinOptions { jvmTarget = “1.8” } } 但是,当我将其添加到我的Gradle配置时,IntelliJ告诉我符号kotlinOptions不能被解析。 为什么是这样? 我使用的是Kotlin v1.2.0,它可以很好地编译代码,但是它不能设置这个选项。
我正在使用房间库,我有下面提到的实体: @Parcelize @Entity(tableName = “tb_option”) data class OptionsTable( var question_id: Int? = null, var option_id: Int? = null, var option: String? = null, var is_selected: Int? = null, @PrimaryKey(autoGenerate = true) var sr_no: Int = 0) : Parcelable 你可以看到我把所有的字段都声明为var但是仍然显示错误: error: Cannot find setter for field. e: e: private java.lang.Integer is_selected; e: ^ 请为此建议一些修复。 谢谢
即使方法存在,我正在使用本机库,并有以下例外。 我有一个nativeInit函数也被导出到MapController,并按预期工作。 但是,nativeLoadScene方法会导致错误。 JNI DETECTED ERROR IN APPLICATION: jmethodID was NULL in call to CallObjectMethodV from int com.demo.lib.MyController.nativeLoadScene(long, java.lang.String, java.lang.String[]) JNI方法 JNIEXPORT jint JNICALL Java_com_demo_lib_MyController_nativeInit(JNIEnv *jniEnv, jobject obj, jobject tangramInstance, jobject assetManager) { … } JNIEXPORT jint JNICALL Java_com_demo_lib_MyController_nativeLoadScene(JNIEnv* jniEnv, jobject obj, jlong mapPtr, jstring path, jobjectArray updateStrings) { … } com.demo.lib.MyController.kt companion object { […]
我只是学习,所以我想获得一个非常基本的SSH查询应用程序来编译。 它应该什么也不做,只有一个LS。 package com.android.myself.sshtestkotlin import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import net.schmizz.sshj.SSHClient import net.schmizz.sshj.common.IOUtils class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val sshConnection = SSHClient() sshConnection.connect(“localhost”) sshConnection.authPassword(“uid”, “password”) Toast.makeText(this@MainActivity, “failed.”, Toast.LENGTH_SHORT).show() val session = sshConnection.startSession() Thread.sleep(1000) val cmd = session.exec(“ls”) val tempNum = IOUtils.readFully(cmd.getInputStream()).toString() sshConnection.disconnect() Toast.makeText(this@MainActivity, tempNum, Toast.LENGTH_SHORT).show() } } […]
我正在试图在基本界面中定义常见的CRUD方法,如下所示: interface BaseDao { @Insert(onConflict = OnConflictStrategy.REPLACE) fun create(obj: I) @Insert(onConflict = OnConflictStrategy.REPLACE) fun createAll(objects: List) @Delete fun delete(obj: I) } Room的以下ProductDao接口从基本接口inheritance: @Dao interface ProductDao : BaseDao { // Specific methods } 当我编译fun createAll(objects: List)的定义fun createAll(objects: List)产生以下错误: 参数的types必须是用@Entity或其集合/数组注解的类。
这是写在kotlin,但我敢肯定它在java中几乎相同。 something.setOnClickListener { availableReportRecycler.isActivated = !availableReportRecycler.isActivated if (availableReportRecycler.isActivated) availableReportRecycler.visibility = View.VISIBLE else availableReportRecycler.visibility = View.GONE } 有没有在kotlin / java的方式来简化这个代码? 我觉得它应该能够减少它像(伪代码): something.setOnClickListener { availableReportRecycler.visibility = {availableReportRecycler.isActivated = !self} ? View.VISIBLE:View.GONE } 我没有find任何相关的在线,但仍然不能得到它的工作后,强暴各种组合强迫。 你可以做得多漂亮吗? 最好的答案是获得一个虚拟的啤酒和“我没事”贴纸!