Tag: kotlin

Intellij IDEA插件开发。 行动“创建kotlin类”

我想为Intellij IDEA创建一个插件。 我需要添加一个动作( AnAction ),它将在一个自定义package在Kotlin中创建一个class (不是Java)。 我有两个问题: 如何创建具有所需扩展名的文件? 或者如何在自定义package使用Kotlin class (从某个基类)创建文件?

kotlin是function性的还是程序性的?

除了面向对象之外,它可以支持程序和函数式编程风格吗? 我想开发一个使用Android Studio的Android应用程序,这样我就可以探索kotlin提供的各种编程风格,这将真正帮助我探索这种新的语言。 感谢您抽出宝贵的时间阅读/回答这个问题,对不起,如果我听起来noob,因为我是一个编程世界的初学者!

android.R.id视图绑定在Kotlin

我有布局android.R.layout.simple_list_item_1其中是一个ID为@android:id/text1或android.R.id.text1的TextView ,我想要像view.text1.setText(“bannoe it”)我怎样才能做到这一点?

与Android的Kotlin:基类和Kotlin Android扩展

所以我使用Kotlin Android Extensions ,我觉得它很容易使用,非常值得。 没有更多的findViewById或Butterknife.Bind(…) 。 除了一种情况,我没有发现任何问题。 在基类中,例如, BaseActivity ,通常会有一堆视图出现在所有布局中,例如工具栏。 和常见的操作,如changeToolbarColor()或setToolbarTitle() 。 在这种简单的情况下,我不能使用Kotlin Android Extensions ,因为它是一个基类,视图本身将出现在多个布局上,而且不能被属性导入。 在这种情况下,我只是简单地使用by lazy {find(…) 。 有没有什么办法可以用内置的android扩展插件来完成?

Kotlin简化布尔expression式

为什么我会在我的if条件行中得到一个说”Simplify boolean expression”的小错误? 例如这段代码: if (isClear==true){ displayText.setText(“”) }

kapt构建失败与匕首Android处理器

我试图用Kotlin注解处理工具 (kapt)在我的项目中包含Dagger Android处理器( 在此记录)。 我已经在我的build.gradle文件中包含了适当的依赖关系: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-kapt’ android { compileSdkVersion 25 buildToolsVersion “25.0.2” defaultConfig { applicationId “com.example.app” minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } sourceSets { main.java.srcDirs += ‘src/main/kotlin’ } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { […]

如何在Android片段中正确实现一个接口?

乡亲。 我一直在与kotlin一个项目工作,我需要做一个片段,与父母的活动交流…我完全按照谷歌和其他网站的建议,但我仍然得到一个错误“活动不会覆盖任何东西”…所有其他解决方案都不适合我…这里是代码。 分段 package com.me.assistan.assistant import android.app.Activity import android.app.DatePickerDialog import android.app.TimePickerDialog import android.content.Context import android.content.Intent import android.graphics.drawable.GradientDrawable import android.os.Bundle import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.CompoundButton import android.widget.LinearLayout import android.widget.ToggleButton import kotlinx.android.synthetic.main.content_newplan.* import java.util.* class addingTask : Fragment(), View.OnClickListener{ var func = Functions var globalTask = GlobalTask private lateinit var listener: OnTimeSettedListener […]

Android WebView – JWT身份validation

我有一个Android应用程序,我正在从基本身份validation切换到JWT,所以,除了其他原因,我不必在本地存储用户的密码。 这对我所有的API请求都很有效,但我的应用程序的一部分使用WebView来显示托管在我的服务器上的自定义内容。 此内容还需要身份validation,目前我使用WebViewClient类中的用户名/密码组合来提供凭据。 现在我要去智威汤逊我不再有这些凭据,只有令牌。 有没有办法提供替代身份validation的WebViewClient ? 我的代码是Kotlin,但同样的原则适用于Java。 inner class WVClient : WebViewClient() { override fun onReceivedHttpAuthRequest(view: WebView, handler: HttpAuthHandler, host: String, realm: String) { // WHAT DO I DO HERE INSTEAD? handler.proceed(username, password) } }

用drawable查看setBackground去除高程的阴影

我尝试将Material Design的高程概念实现到我的RecyclerView。 对于RecyclerView的每个项目,我都使用这个 当我选择项目时,我以可编程的方式将效果应用于背景,并按照材料设计规范的建议将高程设置为8dp。 val draw = ResourcesCompat.getDrawable(resources, R.drawable.selected_task, null) draw?.setColorFilter(task.color.aRGB.toInt(), PorterDuff.Mode.OVERLAY) view.background = draw view.elevation = 8F (我在Kotlin编码)drawable: 和颜色值 #78000000 #32000000 问题是,当我选择一个项目,绘制的是很好地应用,但阴影被删除,而不是放大! 如果我没有使用drawable来设置背景,那么效果很好。 阴影像预期的那样被放大。 问题是什么 ?

Spring WebFlux:只有一个连接接收用户允许

我正在用Spring 5 Webflux和Kotlin编写一个简单的应用程序。 我正在尝试以下列方式实现PUT端点: PUT(“/confs/{id}”, { val id = it.pathVariable(“id”) ServerResponse.ok().body(service.save(it.bodyToMono(Item::class.java)), Item::class.java) }) 保存技巧是我尝试从项目中读取城市名称,解析地理坐标,在原始项目中覆盖它们,然后使用Spring Data Mongo Reactive回购保存到Mongo。 fun save(item: Mono): Mono { val geo = item.flatMap { val city = it.location?.city ?: “Somewhere” geoService.resolveGeoFromCity(city) } val zipped = item.zipWith(geo) .map { it.t1.location?.geo = it.t2 it.t1 } return repo.saveAll(zipped) .toMono() } 解析地理坐标的代码在这里: @Service class GeoService() { […]