Tag: kotlin android extensions

为什么我的应用程序只有在使用OpenFileInput / Ouput函数时将字符串直接赋值给代码时才起作用

我的应用程序具有将数据保存到内部存储的function,并从edittext字段获取文件的名称。 这个edittext是用setText函数填充的。 但是,当它尝试使用从“自动填充”的edittext字段获取的名称的OpenFileOutput时,它崩溃。 但是,当我将相同的字符串分配给代码中的同一个variables(如:文件名=“a”而不是文件名= smth.text.toString()),它工作得很好。 我也试着用toast函数来看看它从字段中得到了什么,我得到了我期望得到的,自动填充字段的字符串,所以它可以与其他函数一起使用,但不能与OpenFileOutput函数一起使用。 我已经尝试了一切,我不知道什么会导致问题。 fun saveResults(view: View) { //Gets a string from a field with the .setText() function val showName = findViewById(R.id.saveName) as EditText var filename: String = showName.text.toString() //If I assign any string here (filename = “John”) it works //Date val getDate = Date() val stringDate: String = getDate.toString() val date […]

如何正确使用Kotlin Android的URL

我想用 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val json = URL(“https://my-api-url.com/something”).readText() simpleTextView.setText(json) } 但是这个致命的错误发生 FATAL EXCEPTION: main Process: com.mypackage.randompackage, PID: 812 java.lang.RuntimeException: Unable to start activity ComponentInfo{ ***.MainActivity}: android.os.NetworkOnMainThreadException 我怎样才能简单地从URL链接读取JSON? async函数的包不存在。

如何在Kotlin中使用AndroidAnnotation @SharedPref

我正在尝试在kotlin中使用AndroidAnnotations @SharefPref,但Iget下面的错误 org.androidannotations.annotations.sharedpreferences.Pref can only be used on an element that extends org.androidannotations.api.sharedpreferences.SharedPreferencesHelper 我究竟做错了什么? //Interface @SharedPref(SharedPref.Scope.APPLICATION_DEFAULT) open interface MyPreferences { @DefaultInt(-1) fun someIntValue():Int } //Fragment @Pref lateinit open var sharedPref:CongressPreferences_ //usage within fragment val get: Int = sharedPref.selectedEventId().get()

如何用kotlin @Parcelize使用null

这里是非常简单的代码: @Parcelize data class Inner(val a: Int): Parcelable @Parcelize data class Test(val a: Int, val inner: Inner?): Parcelable @RunWith(AndroidJUnit4::class) class ExampleInstrumentedTest { @Test fun testParcel() { val test = Test(0, null) val parcel = Parcel.obtain() parcel.writeParcelable(test, test.describeContents()) } } 我有可空的属性Test.inner 。 如果它不为空,代码工作正常,但是当它为空,那么我有例外: java.lang.NullPointerException: Attempt to invoke interface method ‘void android.os.Parcelable.writeToParcel(android.os.Parcel, int)’ on a null object […]

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一个项目工作,我需要做一个片段,与父母的活动交流…我完全按照谷歌和其他网站的建议,但我仍然得到一个错误“活动不会覆盖任何东西”…所有其他解决方案都不适合我…这里是代码。 分段 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 […]

在java类中调用扩展函数作为任何RX操作符

我创建了一个扩展函数, fun Observable.subscribeWithErrorHandling(onNext: (T) -> Unit ,onError: ((throwable: Throwable) -> Unit)? = null): Subscription { //doing stuff } 在kotlin类中,我将能够以这种方式使用它 observable.subscribeWithErrorHandling(…) 现在,我想在我的java类中使用这个函数。 我已经看到,你可以静态调用它: MyExtensionFile.subscribeWithErrorHandling 但在我的情况下,你需要别的东西,因为它是一个RX流的中间部分。 这是我坚持的部分。 这甚至可能吗? 或没有办法做这样的事情,从Java代码?

未解决的参考:kotlinx

我正尝试在Android Studio中尝试Kotlin和Kotlin Android扩展。 我已经在Ubuntu 14.04上的Android Studio v 1.5.1以及OS X El Capitan上的Android Studio v 1.5.1上尝试了这一点,获得了相同的结果。 这是我在做什么: 我安装了Kotlin插件1.0.0-beta-35950-IJ141-11 创建一个新的空白Android项目 将MainActivity文件转换为Kotlin(通过help-> findaction->将文件转换为kotlin) 为Kotlin配置项目 然后我进入生成的content_main.xml文件并为“Hello World!”添加一个id(hello)。 TextView中。 然后在转换的MainActivity中添加一行来设置TextView。 (如下所示)。 然后Android Studio会提示我(通过alt-enter)插入这一行(如下所示) import kotlinx.android.synthetic.main.content_main.* 所以在这一点上一切似乎都很好 但是当我尝试编译这个我得到 Unresolved reference: kotlinx Unresolved reference: kotlinx Unresolved reference: hello 请注意,我没有安装Kotlin Android扩展程序插件。 就在几天前,现在应该包含在主插件中,并被标记为过时。 (事实上​​,如果您在安装最新的插件时尝试安装它,则不会安装任何新的插件) 任何人看到我在做什么错了? 主要活动 import android.os.Bundle import android.support.design.widget.FloatingActionButton import android.support.design.widget.Snackbar import android.support.v7.app.AppCompatActivity import […]

适配器或ViewHolder中的Kotlin综合

我是kotlin的新手。 我发现并尝试使用合成方法,而不是在我的Activity类中使用烦人的方法findViewById ,但是我发现“如果我们想调用View的综合属性(在适配器类中有用),我们还应该导入kotlinx.android.synthetic .main.view。*“。 但我不明白它是如何工作的? 有没有例子?