如何设置文本,焦点,在与Kotlin Android的editText错误

我在互联网上沉重搜索如何可以在android的editText(s)上使用setFocusable()setText()setError()等等方法(我知道我们可以在java中使用上述方法的事实)我无法找到适合我的确切解决方案。

我正在使用1)排气为http调用2)kotlin插件为android工作室版本='1.1.3-2'3.)anko库

我在运行应用程序时遇到的问题:1.)setError()方法没有被调用。 2)我不能在editText上使用setText()和setFocus()。

请注意,我需要Kotlin中的解决方案而不是Java。

提前致谢!

 private fun askAppointment() { if (editTextPersonName?.text.isNullOrEmpty()) { editTextPersonName?.error ="Person Name cannot be empty." return } else if (editTextPersonMobile?.text.isNullOrEmpty()) { editTextPersonMobile?.error = "Person Mobile cannot be empty." return } else if (editTextPersonEmail?.text.isNullOrEmpty()) { editTextPersonEmail?.error = "Person Email cannot be empty." return } else if (editTextSubject?.text.isNullOrEmpty()) { editTextSubject?.error = "Subject cannot be empty." return } else if (editTextDescription?.text.isNullOrEmpty()) { editTextDescription?.error = "Description cannot be empty." return } else if (editTextAppointmentDate?.text.isNullOrEmpty()) { editTextAppointmentDate?.error = "Appointment Date cannot be empty." return } else if (editTextAppointmentTime?.text.isNullOrEmpty()) { editTextAppointmentTime?.error = "Appointment Time cannot be empty." return } 

这很简单。 让我们假设etEmailEditText 。 你可以像这样设置文本

 etEmail?.setText("some text") 

而对于错误,你可以使用这个

 etEmail?.error = "This is error" 

而对于集foucus你可以尝试这一个,但我不知道。

 etEmail?.isFocusable = false 

我希望这会帮助你。

检查上面代码的工作截图。

在这里输入图像描述

askAppointment()使用这个逻辑

 private fun askAppointment() { if (editTextPersonName?.text.isNullOrEmpty()) { editTextPersonName?.error = "Person Name cannot be empty." return } else if (editTextPersonMobile?.text.isNullOrEmpty()) { editTextPersonMobile?.error = "Person Mobile cannot be empty." return } else if (editTextPersonEmail?.text.isNullOrEmpty()) { editTextPersonEmail?.error = "Person Email cannot be empty." return } else if (editTextSubject?.text.isNullOrEmpty()) { editTextSubject?.error = "Subject cannot be empty." return } else if (editTextDescription?.text.isNullOrEmpty()) { editTextDescription?.error = "Description cannot be empty." return } else if (editTextAppointmentDate?.text.isNullOrEmpty()) { editTextAppointmentDate?.error = "Appointment Date cannot be empty." return } else if (editTextAppointmentTime?.text.isNullOrEmpty()) { editTextAppointmentTime?.error = "Appointment Time cannot be empty." return } else { //creating volley string request val stringRequest = object : StringRequest(Request.Method.POST, URL, Response.Listener<String> { response -> try { val jsonObject = JSONObject(response) val feedback = jsonObject.getString("response") toast("$feedback") //finish() //finish Activity after sending request } catch (e: JSONException) { e.printStackTrace() } }, object : Response.ErrorListener { override fun onErrorResponse(volleyError: VolleyError) { toast("error :(") } }) { @Throws(AuthFailureError::class) override fun getParams(): Map<String, String> { val params = HashMap<String, String>() params.put("personName", editTextPersonName?.text.toString()) params.put("personMobile", editTextPersonMobile?.text.toString()) params.put("personEmail", editTextPersonEmail?.text.toString()) params.put("subject", editTextSubject?.text.toString()) params.put("description", editTextDescription?.text.toString()) params.put("appointMentDate", editTextAppointmentDate?.text.toString()) params.put("appointMentTime", editTextAppointmentTime?.text.toString()) return params } } //adding request to queue AppController.instance?.addToRequestQueue(stringRequest) } }