Tag: android

Kotlin多点击按钮上的听众

所以对于kotlin来说,我想知道如何将多个点击事件添加到xml中定义的按钮中,就像以前在Java中一样,我们实现了View.onClickListener接口,并在onClick方法中完成其余的工作。 例如: @Override public void onClick(View v) { switch (v.getId()) { case R.id.oneButton: // do your code break; case R.id.twoButton: // do your code break; case R.id.threeButton: // do your code break; default: break; } } 我正在用新的Kotlin制作一个基本的计算器应用程序,但似乎Kotlin没有这样的规定,而是我的代码看起来太长而冗长,因为我将事件附加到所有按钮单独。 有人能告诉我如何在科特林做同样的方式吗? 谢谢

类型在kotlin中不匹配

我是Kotlin语言和面向对象编程的新手,所以我想知道为什么在Android中从类Fragment()继承的类的实例类型是错误的。 这些是我的代码 Fragment.kt class MyFragment: Fragment() { //do something } MainActivity.kt class MainActivity : AppCompatActivity() { val fm : Fragment? = MyFragment() … } 为什么返回MyFragment类型,而不是片段? ?? 谢谢

Kotlin webview崩溃

我想从一个Fragment访问一个WebView和kotlin不停地说: kotlin.TypeCastException: null cannot be cast to non-null type android.webkit.WebView 我试图使其为默认,然后初始化它,但也不起作用。 任何建议,我怎样才能使其工作? 我的代码: private lateinit var webView: WebView override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater!!.inflate(R.layout.editor_edit_fragment, container, false) webView = view.findViewById(R.id.webview) as WebView resumeWebView() return view } XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/webview" […]

kotlin – 领域和包裹

我用android studio开发了android项目。 我想在kotlin中使用onSaveInstanceState()来保存领域对象。 我的代码是 @Parcel( implementations = arrayOf(UserRealmProxy::class), value = Parcel.Serialization.BEAN, analyze = arrayOf(User::class)) open class User : RealmObject() { open var name: String? = null @ParcelPropertyConverter(ListParcelConverter::class) open var Items: RealmList<Item>? = null } 但编译时出现一些错误: 'Unresolved reference: UserRealmProxy' 'An annotation parameter must be a compile-time constant' 当然,UserRealmProxy已经存在了,因为项目已经被编译了。 也@ParcelPropertyConverter(ListParcelConverter::class)不起作用。 它在运行时会导致异常: 'java.io.NotSerializableException: io.realm.RealmList' 但是这个代码在java中编译得很好。 我需要你的帮助。

Kotlin – 期待会员声明

我试图将我的应用程序从Java转换到Kotlin。 我使用了Android Studio Built-in转换器,并修复了大部分生成的错误。 对Kotlin来说,这是一个非常辛苦的时刻: 我得到了这个类是用Java编写和转换,显然没有任何错误,这有助于我在一个RecyclerView管理项目点击: class ItemClickSupport private constructor(private val mRecyclerView: RecyclerView) { private var mOnItemClickListener: OnItemClickListener? = null private var mOnItemLongClickListener: OnItemLongClickListener? = null private val mOnClickListener = View.OnClickListener { v -> if (mOnItemClickListener != null) { val holder = mRecyclerView.getChildViewHolder(v) mOnItemClickListener!!.onItemClicked(mRecyclerView, holder.adapterPosition, v) } } private val mOnLongClickListener = View.OnLongClickListener { v […]

匿名Kotlin监听器中未解决的引用

我有下面的代码。 这是Kotlin。 任何想法为什么来自textToSpeech.setLanguage(Locale.UK)说是没有解决textToSpeech参考? val textToSpeech = TextToSpeech( applicationContext, object : TextToSpeech.OnInitListener { override fun onInit(status: Int) { if (status == TextToSpeech.SUCCESS) { textToSpeech.setLanguage(Locale.UK) } } }) 起初我认为这是一个想法kotlin插件的错误,但它似乎实际上不能被编译

Kotlin lambda有几个参数

我有点困惑kotlin lambda表达。 找不到合适的答案。 在Java中,我可以用tho参数设置一个监听器: myObject.setListener(new MyListener() { @Override public boolean doSmth(int pos, int value) { switch(..) { …. } } }) 用lambda: myObject.setListener((p1, p2) -> { switch(..) { …. } }) 在Kotlin,我可以这样做: myObject.setListener{p1, p2 -> return@setListener false} 要么 myObject.setListener{{p1, p2 -> if (p1) { return@setListener true } else { return@setListener false } }} 但它真的很丑。 有没有办法做到这一点? […]

Kotlin应用程序不显示我的JSON数组

我刚刚开始学习Kotlin,并试图用Kotlin创建我的第一个Android应用程序。 我有一个基于Restful API的web服务,它为我返回一个json数组,像下面的图像。 我的Kotlin代码通过gson库显示json数组! class MainActivity : AppCompatActivity() { val TAG:String="TipCalculatorActivity" var adapter:ArrayAdapter<Category>?=null var dsSP: MutableList<Category> = mutableListOf() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) adapter=ArrayAdapter(this,android.R.layout.simple_list_item_1,dsSP) lvCategory.adapter=adapter } override fun onResume() { super.onResume() var task=CategoryTask() task.execute() } inner class CategoryTask:AsyncTask<Void, Void, MutableList<Category>>() { override fun onPostExecute(result: MutableList<Category>?) { super.onPostExecute(result) dsSP.clear() dsSP.addAll(result!!) } override fun doInBackground(vararg […]

方法hashMapOf()在Kotlin中

任何人都可以给我一个hashMapOf()方法的具体例子,我应该什么时候使用它? 如果我做这样的事情: val map2 : HashMap<String, String> = hashMapOf() map2["ok"] = "yes" 这意味着我可以使用它来初始化map2属性。 但是像Kotlin中的其他方法一样: val arr = arrayListOf<String>("1", "2", "3") 有什么办法可以像上面那样使用这个方法吗?

Kotlin Android-如何实现CheckBox.OnCheckedChangeListener?

我是Kotlin新手。 我创建了一个片段,并实现了View.OnClickListener和CheckBox.OnCheckedChangeListener 。 View.OnClickListener按预期工作,但它显示CheckBox.OnCheckedChangeListener Unresloved引用。 代码如下 class LoginFragment : Fragment(), View.OnClickListener, CheckBox.OnCheckedChangeListener { override fun onClick(view: View?) { } } 我怎样才能实现CheckBox.OnCheckedChangeListener ..? 提前致谢