Tag: android

Kotlin stdlib和Databinding

是否有可能在xml中使用Kotlin stdlib中的方法? 例如这个代码 <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:textColor="#333333" android:text="@{viewModel.note}" android:visibility="@{viewModel.note.isNotEmpty ? View.VISIBLE : View.GONE}"/> 产生编译错误 执行任务失败:app:compileDevDebugJavaWithJavac'。 java.lang.RuntimeException:发现数据绑定错误。 **** / data binding error **** msg:无法在类java.lang.String文件中找到方法isNotEmpty():D:\ Projects \ PushTracker -Android \ app \ src \ main \ res \ layout \ fragment_appointment_simple_details。 xml loc:104:44 – 104:70 **** \数据绑定错误**** 很明显,数据绑定试图找到方法isNotEmpty()在Java的字符串,但我可以强制数据绑定编译器使用kotlin的字符串?

类型参数在Kotlin中不被识别

使用gson和翻新,并创建一个JsonDeserializer。 在Java中,该类定义为: public class Test implements JsonDeserializer<NavigationMenu[]> {… 在Kotlin中,它被定义为: class NavigationMenuArrayDeserializer : JsonDeserializer<Array<NavigationMenu>> {… Java类在被GSON注册后被调用。 Kotlin类永远不会被调用。 Retrofit jsonClient = new Retrofit .Builder() .baseUrl(baseUrl) .client(okHttpClient) .addConverterFactory(getGsonConverter()) .build(); … private GsonConverterFactory getGsonConverter() { GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.setLenient(); gsonBuilder.registerTypeAdapter(NavigationMenu[].class, new NavigationMenuArrayDeserializer()); Gson gson = gsonBuilder.create(); return GsonConverterFactory.create(gson); } 任何想法为什么?

将Android库API转换为Kotlin

我最近阅读了关于Kotlin的文章,我不能真正等待在Android开发中使用它。 我正在写Android应用程序库,它将作为某种SDK提供。 假设我会切换到在我的图书馆使用Kotlin。 那些没有使用Kotlin的图书馆用户有什么缺点? 如果包含SDK,用户需要什么样的适应性 作为一个模块(与源代码)? 作为依赖?

Kotlin对委托属性的注释

在Kotlin中,是否有一种方法可以在委托属性(例如: lazy )上定义注释? class MyActivity: Activity() { @ColorInt val textColor: Int by lazy { ContextCompat.getColor(this, R.color.someColor) } … IDE在@ColorInt注释中引发错误: 这个注解不适用于'具有委托的成员财产'

Jackson与Kotlin混合

我正在尝试使用Jackson mixin忽略外部Kotlin数据类的属性,但到目前为止,它并不适用于我。 这是我的SimpleModule扩展名: class BarModule : SimpleModule() { override fun setupModule(context: SetupContext?) { context?.setMixInAnnotations(Bar::class.java, BarMixin::class.java) } } 这是我的混合: abstract class BarMixin { @JsonIgnore val totalValue: Double = 0.0 } 我最初尝试@JsonIgnore val totalValue:双,但它不会接受。 这是我的班级: data class Bar( val a: String, val b: Boolean = false, val c: Boolean = false, val d: Array<Block> ) { val […]

未解决的参考:kotlinx – Kotlin 1-0-0-RC-1036

我正在一个Android应用程序工作,前几天我更新了我的Kotlin版本从1.0.0-beta-1103到候选版本1.0.0-rc-1036 ,现在我无法运行我的应用程序Kotlin Android扩展。 我使用apply plugin: 'kotlin-android-extensions'就像官方博客所说: http apply plugin: 'kotlin-android-extensions'我的应用程序不能识别任何布局的任何视图。 这是在控制台上显示的内容: 错误:(20,8)未解决的参考:kotlinx 错误:执行任务':app:compileDebugKotlin'失败。 编译错误。 查看日志了解更多详情 请帮助我,我正在失去理智! 更新: 这是我在全球build.gradle buildscript { ext { kotlin_version = "1.0.0-rc-1036" } repositories { jcenter() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // The Fabric Gradle plugin uses an open ended version to react // quickly […]

Kotlin错误:匕首不支持注入私人领域

我在kotlin活动ViewPager中使用,我想在Kotlin Fragment中使用匕首注入。 我有错误:匕首不支持注入私人领域。 在Java片段的匕首注入工作。 为什么我不能在kotlin碎片中注入匕首? 在我的kotlin活动 mPagerAdapter = object : FragmentPagerAdapter(supportFragmentManager) { private val mFragments = arrayOf(KotlinFragment(), JavaFragment()) private val mFragmentNames = arrayOf(getString(R.string.cashdocuments), getString(R.string.action_absmysql)) override fun getItem(position: Int): Fragment { return mFragments[position] } override fun getCount(): Int { return mFragments.size } override fun getPageTitle(position: Int): CharSequence { return mFragmentNames[position] } } 我的kotlin片段 class KotlinFragment : […]

用RX和Kotlin编写网络请求

我正在使用与RXJava和Retrofit进行网络调用的kotlin的Android应用程序。 在启动时,应用程序将对类似REST的后端执行多个网络调用。 该程序看起来非常像Netflix在其示例中使用的程序。 然而,当试图重写它与Kotlin一起工作时,我正在挣扎。 我很难理解Kotlin关闭中的回报如何工作。 非常感谢这里的一些帮助! Netflix的例子: return getUser(userId).flatMap(user -> { Observable<Map<String, Object>> catalog = getPersonalizedCatalog(user) .flatMap(catalogList -> catalogList.videos().<Map<String, Object>> flatMap( video -> { Observable<Bookmark> bookmark = getBookmark(video); Observable<Rating> rating = getRatings(video); Observable<VideoMetadata> metadata = getVideoMetadata(video); return Observable.zip(bookmark, rating, metadata, (b, r, m) -> combineVideoData(video, b, r, m)); })); Observable<Map<String, Object>> social = getSocial(user).map(s -> […]

在kotlin中找不到getChildFragmentManager()

如何在kotlin片段类中使用getChildFragmentManager() ? 我知道它非常基本的问题。 但没有找到这个文件。 我在谷歌搜索搜索,但没有找到结果。

Kotlin:创建扩展函数文件?加

我正在Kotlin开发一些库,我没有找到这个解决方案, 我怎么能解决这个问题, 这是说,创建扩展功能File?.plus ,在Java中它的工作正常,但在Kotlin如何写这个代码? 先谢谢你。