2017-09-04 7 views
1

Wie überprüfen Sie, ob ein EditText leer ist? input type AnzahlÜberprüfen, ob EditText leer ist kotlin android

package com.example.www.myapplication 

import android.support.v7.app.AppCompatActivity 
import android.os.Bundle 
import kotlinx.android.synthetic.main.activity_main.* 
import java.util.* 

class MainActivity : AppCompatActivity() { 

override fun onCreate(savedInstanceState: Bundle?) { 
    super.onCreate(savedInstanceState) 
    setContentView(R.layout.activity_main) 
    button.setOnClickListener { 

     val inter:Int=editText.text.toString().toInt() 
     val year: Int = Calendar.getInstance().get(Calendar.YEAR) 
     val res:Int=year-inter 
     textView.text=res.toString() 
    } 
} 
+0

Sie sollten den Stack-Trace schreiben, anstatt die ANR Screenshot veröffentlichen. – BakaWaii

Antwort

2

Hier verwenden ist die vollständige Beispiel mit Erklärung.

//init the edittext 
    val etMessage = findViewById(R.id.et_message) as EditText 
    //init the button 
    val btnClick = findViewById(R.id.btn_click) as Button 

    btnClick.setOnClickListener{ 
     //read value from EditText to a String variable 
     val msg: String = etMessage.text.toString() 

     //check if the EditText have values or not 
     if(msg.trim().length>0) { 
      Toast.makeText(applicationContext, "Message : "+msg, Toast.LENGTH_SHORT).show() 
     }else{ 
      Toast.makeText(applicationContext, "Please enter some message! ", Toast.LENGTH_SHORT).show() 
     } 
    } 
0

Try this:

if(TextUtils.isEmpty(editText.getText().toString())){  
    //Do 
} 
+0

danke anzeigen enter debug image description –

1

Hey ich so in Kotlin bin mit

val input = editText?.text.toString().trim() 
    if (input.isNullOrBlank()) { 
     //Your code for blank edittext 
    } 

Hope this mir helfen you..let wissen wenn irgendein Problem ....

+0

Die meisten Fälle, wenn Sie Text aus dem Eingabefeld erhalten möchten, verwenden Sie wie "val input = editText? .text.toString(). Trim()" –

+0

Ungelöste Referenz. Keiner der folgenden Kandidaten ist anwendbar, weil der Empfängertyp nicht übereinstimmt: @InlineOnly öffentlicher Inline-Spaß CharSequence? .isNullOrBlank(): Boolean definiert in kotlin.text –

0
var userName = editText!!.text.toString().trim() 
if (userName.equals("")) { 
    //TODO Something Here 
} 
+1

Während Antworten immer geschätzt werden, hilft es wirklich, einige zusätzliche Informationen bezüglich ** zu liefern. wie ** dein Code das Problem löst. Dies hilft denen mit ähnlichen (aber nicht identischen) Problemen. Nicht jeder ist mit Ihrer genauen Codierungslogik vertraut, kann aber Ihren allgemeinen * Ansatz * oder * Begriff * verstehen. Um deine Antwort zu verbessern, stelle bitte einige [** Kontext umgebende ** **] (https://meta.stackexchange.com/questions/114762) und den Hilfeartikel auf [** große Antworten schreiben **] (http://stackoverflow.com/help/how-to-answer) für einige Tipps, wie Sie Ihre Antworten zählen :) –

1

Harness Kotlin Leistung durch Inline-Erweiterung Funktionen:

editText.text.isNotEmpty().apply { 
    //do something 
} 

oder let

+0

danke zeigen Debug-Image-Beschreibung eingeben –

0

ein neuer Typ worden Menge ausprobiert und das funktionierte für mich

 if(!editTextTerminalName.text.toString().trim().isNotEmpty()) { 

       editTextTerminalName?.error = "Required" 

      }else if(!editTextPassword.text.toString().trim().isNotEmpty()){ 


       editTextPassword?.error = "Required" 
      }else{ 

       avi.visibility= View.VISIBLE // v letter should be capita 
} 
0

try this out:

//button from xml 
botton.setOnClickListener{           
val new=addText.text.toString()//addText is an EditText 
if(new=isNotEmpty()) 
{ 
    //do something 
} 
else{ 
Toast.makeText(applicationContext, "Enter some message ", Toast.LENGTH_SHORT).show() 
} 
}