Tag: Java

解散后重新显示对话框

每次解雇后如何重新显示同一个对话框? 我的代码(在Kotlin): val alertDialog = AlertDialog.Builder(this) alertDialog.setMessage(getString(R.string.alert_dialog_main_activity)) val editText = EditText(this) editText.inputType = InputType.TYPE_CLASS_PHONE alertDialog.run { setView(editText) setOnDismissListener { TODO( “Re-show dialog” } setPositiveButton(“Done”, { dialogInterface, i -> run { toast(editText.text.toString()) PreferenceManager.getDefaultSharedPreferences(applicationContext).edit().putInt(“phoneNumber”, editText.text.toString().toInt()).commit() } }) show() } 答案也可以在Java中。

我们能代表Java(或Kotlin)中的“自我”吗?

我认为问题标题有点混乱,但是我找不到更准确的方式来说这个。 我只需要一个简单的代码示例来告诉你我想要什么。 我有: // code 1 interface A { A bla(); } class B implements A { @Override public B bla() { return this; } } class C implements A { @Override public C bla() { return this; } } 但实际上,这个代码也会编译(diff:查看返回types声明): // code 2 interface A { A bla(); } class B implements A { […]

Android – 以下类的超types无法解析 – (Room Persistant Library,Android Library Module)

在我的Android项目(Kotlin)中,我想为我的DATA LAYER使用Room持久性库。 但是当我添加房间持久性库的依赖关系突然生成项目开始失败。 我正在收到的错误: 这是我的项目级别 build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext { globalCompileSdkVersion = 26 globalMinSdkVersion = 19 globalTargetSdkVersion = 26 kotlin_version = ‘1.2.10’ support_version = “27.0.2” constraint_layout_version = “1.0.2” view_animator_version = “1.0.5” junit_version = “4.12” runner_version = “1.0.1” espresso_core_version = “3.0.1” room_version […]

RxJava zip使用Android Studio 3.0在Kotlin中遇到IDE错误

我想用Interval Observable创建一个Observable,它包含Observable,Observable包含Observable对象的列表,这样,来自第一个Observable的Observable将会有一定的时间延迟。 这是我的实现: val just1 = ArrayList() 填充一些项目 fun populateJust1() { just1.add(SomeClass1(“23”, 23)) just1.add(SomeClass1(“24”, 24)) just1.add(SomeClass1(“25”, 25)) } populateJust1() 并以间隔Observable压缩 Observable.fromIterable(just1) .zipWith(Observable.interval(2, TimeUnit.SECONDS)) { item: SomeClass1, interval: Long -> item } .subscribe(Consumer { someClass1 -> Log.v(“someClass1”, someClass1.toString()) }) 然而,IDE,Android Studio 3.0以zipWith运算符为红色,并表示: 所提供的参数都不能调用以下函数。 (((观察者:观察者)→单位)!,((t1:SomeClass1,t2:长)→R)!)其中R不能被推断; U = Long for fun zipWith(other:((observers:Observer)→Unit)!,zipper:((t1:SomeClass1,t2:U)→R)!):Observable! 在io.reactivex.Observable zipWith(ObservableSource!,BiFunction!)中定义,其中R无法推断; U =长! 为了好玩zipWith(其他:ObservableSource!,拉链:BiFunction!):可观察! 定义在io.reactivex.Observable […]

接口generics过载

我可以在C#中执行以下操作。 是否有可能做同样的kotlin或java? public interface IFactory { TOutModel Create(TModel model1); } public interface IFactory { TOutModel Create(TModel1 model1, TModel2 model2); }

Java或Scala中Kotlin的types实现是不可能实现的?

我最熟悉的Javatypes擦除(及其所有的问题和好处)。 我对Kotlintypes系统的扩展可能性有一些限制,但是我不清楚types实例是如何在面向擦除的JVM上工作的。 什么是types实现,Kotlin如何在JVM上实现,这与Java的types擦除和Scala的复杂types系统有何不同?

SocketException:sendto失败:EBADF(坏文件描述符)

我尝试从Android手机通过套接字发送数据。 我发送PDF文件到打印机进行打印。 在Java中它工作正常,但Kotlin抛出SocketException:sendto失败:EBADF(坏文件描述符),但是用Kotlin代码,打印机无论打印什么。 全堆栈跟踪: java.net.SocketException: sendto failed: EBADF (Bad file descriptor) at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:542) at libcore.io.IoBridge.sendto(IoBridge.java:511) at java.net.PlainSocketImpl.write(PlainSocketImpl.java:500) at java.net.PlainSocketImpl.-wrap1(PlainSocketImpl.java) at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:266) at java.io.OutputStream.write(OutputStream.java:82) at java.io.DataOutputStream.writeBytes(DataOutputStream.java:156) at com.example.print.printerserver.connectors.OutputHelper.writeFooter(OutputHelper.java:22) at com.example.print.printerserver.connectors.PrinterConnector.fillPJL(PrinterConnector.kt:30) at com.example.print.printerserver.connectors.PrinterConnector.access$fillPJL(PrinterConnector.kt:8) at com.example.print.printerserver.connectors.PrinterConnector$print$1.subscribe(PrinterConnector.kt:17) at io.reactivex.internal.operators.single.SingleCreate.subscribeActual(SingleCreate.java:39) at io.reactivex.Single.subscribe(Single.java:2779) at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452) at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61) at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) […]

当使用AsyncTask 将Object转换为GoogleMap时,我得到java.lang.RuntimeException

我在LogCat中得到这个消息: java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:330) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) at java.util.concurrent.FutureTask.setException(FutureTask.java:223) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:255) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:776) Caused by: java.lang.ClassCastException: java.lang.Object[] cannot be cast to com.google.android.gms.maps.GoogleMap 在android studio中使用Kotlin class GetDirectionsData : AsyncTask() { internal var mMap: GoogleMap? = null internal var url: String = “” internal var googleDirectionsData: […]

不能将tornadofx应用程序编译到独立的jar文件中

对于Kotlin和JVM来说,我是个新手,我将把我的helloworld kotlin应用程序编译成一个独立的jar文件,这个jar文件可以在客户端机器上运行(它有一个JRE) 我确信我正在使用包含JavaFx的Java 1.8,我也在pom.xml中有下列依赖项 no.tornado tornadofx 1.7.14 ${project.basedir}/src kotlin-maven-plugin org.jetbrains.kotlin ${kotlin.version} compile compile test-compile test-compile org.apache.maven.plugins maven-assembly-plugin 2.6 make-assembly package single main.kt jar-with-dependencies 运行以下 kotlinc /home/denis/prg/java/kot/src/main.kt -include-runtime -d main.jar -jvm-target 1.8给出 src/main.kt:3:8: error: unresolved reference: tornadofx 此外,运行maven clean package产生一个SNAPSHOT jar,但我不能运行它?Java给出Could not find or load main class main.kt 我怎样才能使一些可用的东西?

Kotlin将来如何设计一个复杂的课程来增加课程的扩展性?

我是Kotlin的初学者,我使用代码A来定义一个复杂的类MDetail ,并使用代码B创建一个对象aMDetail1 ,它可以工作。 但是数据结构太难扩展了,如果像Code C那样在MDetail包含ScreenDef这样的新数据类,那么所有的旧代码都必须重写。 对于包含一些类的复杂类是否有很好的数据结构? 我希望今后的数据建设可以轻松扩展! 代码A data class BluetoothDef(val Status:Boolean=false) data class WiFiDef(val Name:String, val Status:Boolean=false) data class MDetail ( val _id: Long, val bluetooth: BluetoothDef, val wiFi:WiFiDef ) 代码B var mBluetoothDef1= BluetoothDef() var mWiFiDef1= WiFiHelper(this).getWiFiDefFromSystem() var aMDetail1= MDetail(7L,mBluetoothDef1,mWiFiDef1) 代码C data class BluetoothDef(val Status:Boolean=false) data class WiFiDef(val Name:String, val Status:Boolean=false) data class ScreenDef(val […]