Tag: 安卓

Kotlin和Android TextWatcher具有CharSequence / String替换function

我只是在我的项目上玩Kotlin,我来到奇怪的问题…当试图转换自定义EditText Android工作室停止响应。 当我试图转换它的一部分,它转换这段代码时停止响应: private TextWatcher editor = new TextWatcher() { long newMicro = 0; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { s = s.toString().replace(“.”, “”) .replace(“,”, “”) .replace(“$”, “”); try { newMicro = Long.parseLong(s.toString()); } catch (Exception […]

Android – Kotlin – 在进程中间停止

在没有break情况下,是否有任何方法可以停止在Kotlin中循环? 例如: for (item in items) { for (item2 in arrRealmTemp ) { if (item.MKT == item2.MKT && item.UPC == item2.UPC ) { // I want to stop this (the inner for only ) here } } }

Android Studio 3 Kotlin版本

在开始Android Studio 3测试版2我得到这个消息: “kotlin-stdlib-1.1.4-2”库中的Kotlin运行时版本是1.1.4-2,而插件版本是1.1.4-release-Studio3.0-3。运行时库应该被更新以避免兼容性问题。” 在buildscript (项目级gradle)中,我已经将ext.kotlin_version = ‘1.1.4-2’改为ext.kotlin_version = ‘1.1.4-3’ 我尝试重建和清理项目,但没有任何作品,我仍然开始得到这个消息。 Gradle项目级别: buildscript { ext.kotlin_version = ‘1.1.4-3’ ext.app_compat_version = ‘26.0.1’ ext.google_play_services = ‘11.2.0’ ext.firebase_ui_version = ‘2.1.1’ ext.retrofit_version = ‘2.3.0’ repositories { google() jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.0-beta3’ // update kotlin to 1.1.4-2 classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” // NOTE: Do not place your application dependencies here; they […]

Kotlin:如何在类中使用多个Generic?

我试图将这个C#类转换为Android的kotlin: public class ChildItemCollection : ICollection where P : class where T : ChildItem where C : class, ICollection { private P _parent; private C _collection; public ChildItemCollection(P parent, C collection) { this._parent = parent; this._collection = collection; } … } public class ChildItemCollection : ChildItemCollection<P, T, List> where P : class where T : […]

Android – 在Kotlin中声明和使用视图

我正在尝试使用android的kotlin,并尝试像这样声明Linearlayout: internal var linlay_SuccessfulPayment : LinearLayout = null!! internal var linlay_failPayment : LinearLayout linlay_SuccessfulPayment = findViewById(R.id.linlay_SuccessfulPayment) as LinearLayout linlay_failPayment = findViewById(R.id.linlay_failPayment) as LinearLayout 但在日志中我得到这个: Caused by: kotlin.KotlinNullPointerException at com.example.activities.PaymentResult.(Result.kt:14) at java.lang.Class.newInstance(Native Method) at android.app.Instrumentation.newActivity(Instrumentation.java:1096) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3122) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) at android.app.ActivityThread.access$1100(ActivityThread.java:229) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:7329) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) […]

扩展函数不会创建新的Observable对象

我有kotlin和rxjava意想不到的行为。 我使用picasso创建了一个用于加载图像的扩展function fun Picasso.loadBitmap(url: String) : Observable = Observable.create { emitter -> Log.d(“picasso load bitmap”, “me ${this}”) try { val bitmap = load(url).centerCrop() .resize(100, 100) .transform(CircleTransformer()) .get() emitter.onNext(bitmap) emitter.onComplete() } catch (e: IOException) { emitter.onError(e) } } 我在这样的时间间隔(几乎在同一时间)多次调用这个, picasso.loadBitmap(place.image_url) .subscribeOn(Schedulers.io()) .retryWhen { error -> error.zipWith(Observable.range(1, 5), BiFunction { t1, t2 -> RetryWrapper(t2.toLong(), t1) }) .flatMap […]

Android数据绑定和Kotlin

我将我的Android应用程序从Java转换为Kotlin。 它工作正常,除了当我尝试转换使用Android数据绑定库的文件。 在这种情况下,Android Studio会在编译时抱怨未解决的引用: Error:(10, 44) Unresolved reference: AdapterHistoriesListBinding 其中AdapterHistoriesListBinding是应该由数据绑定库生成的文件的名称。 它在Java中正常工作,所以我猜这是Kotlin的一个问题。 我正在使用Android Studio 2.0.0-beta6,Android Gradle Plugin 2.0.0-beta6和Kotlin 1.0。 数据绑定库和Kotlin一起工作有什么需要做的吗?

图像存在,不为空,但我得到一个NullPointerExceptionexception

简短的介绍 我目前正在使用的应用程序从JSON中获取图像,如果正确使用它,并将其保存为下次使用的加载图像。 问题 突然之间,应用程序开始崩溃加载和进一步检查,我已经到位的file.isFile && file.canRead()检查返回正面,但它仍然在BitmapFactory.decodeStream崩溃。 该文件的字节数为8k,与其他设备相比,其中相同的图像实际上有43k字节。 图像json是一个更大的json消息(约500kb)的一部分,它不是在开始或结束。 在发生这种情况之前的最后一次使用中,加载或签名没有问题,表明下载可能已经停止了一半。 即使如此,图像仍然有8kb,所以我想应该只是用它的部分创建的东西,而不是抛出NullPointerException 我正在使用Android Studio 3.0 Beta 4,代码位于Kotlin。 我必须在这个设备上运行100次,甚至在发生这种情况之后,它在其他测试设备上运行得非常好,加上在启动时获得完全相同的json的iOS应用程序 我在找什么 关于如何处理这个问题的建议,或者是Android或Kotlin中已知的错误的信息。 我可以重新安装应用程序在设备上,它会再次确定,但不会希望发生这种情况后,应用程序被释放,如果我可以阻止它。 LaterEdit :有了Xaviers的建议,我已经把文件复制到桌面上了,当它加载的时候它肯定是格式不正确的,实际上显示了Mac上运行的东西的一些严重畸形的图像。 我试图上传它,但它只是显示为一个空的白色图像。 它仍然有8kb,所以它包含一些数据。 这怎么可能,可以预防? 码 加载应用程序,我检查图像是否存在,并将其加载到imageView中 try { if (DesignSupport().imageExists(“logo”, this)) { if (DesignSupport().loadImage(“logo”, this) != null) { imageView.setImageBitmap(DesignSupport().loadImage(“logo”, this)) } } } catch (error: Error) { Log.i(tag, error.stackTrace.toString()) } 检查图像是否存在 fun imageExists(string: String, context: […]

如何将Java文件转换为Kotlin文件?

我正在通过Kotlin为Android开发者探索Kotlin。 其中一个步骤是使用Convert Java File to Kotlin File来查看Java和Kotlin文件的比较。 我很好奇这个function是如何工作的。 该工具是从Java输入创建一个抽象语法树,然后转换到Kotlin? 还是在做更简单的事情?

如何在android中创建动态布局

我们正尝试在android(动态布局)中创建一个简单的UI,这个UI将基于一些配置文件(JSON / XML等)。 我们的应用程序应该解析配置文件,并将在运行时创建用户界面。 用户界面配置将包括按钮,他们的正面图像和“文本(显示)”。 任何现有的解决方案都会有帮助