Android Academy · Lektion

Hantera användarinmatning

Svara på knappklick, läs text från EditText, validera inmatning och ge användarna återkoppling med Toast-meddelanden.

Lektion 4 av 711 steg

Hantera användarinmatning är en gratis lektion i Android Academy på CoddyKit. Detta är lektion 4 av 7. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Android Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Android Academy innehåller totalt 7 lektioner.

Koppla användargränssnittet till koden

Att bygga en layout är bara det första steget. Du behöver också:

  • Läsa det användaren skrev i en EditText
  • Reagera på knapptryckningar
  • Uppdatera TextViews med nya värden

I den här lektionen visas hur du kopplar ihop gränssnittselement med ViewBinding – det moderna, typsäkra tillvägagångssättet.

Aktivera ViewBinding

Aktivera ViewBinding i din app/build.gradle:

// app/build.gradle (inside android { })
android {
    ...
    buildFeatures {
        viewBinding = true
    }
}

Använda ViewBinding

ViewBinding genererar en binding-klass från din XML-layout. Om layouten heter activity_main.xml blir klassen ActivityMainBinding.

import androidx.appcompat.app.AppCompatActivity
import com.example.myapp.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        // Access views directly — no casting!
        binding.tvTitle.text = "Hello!"
    }
}

Hantera knapptryckningar

Ställ in en klicklyssnare på valfri vy med setOnClickListener. Skicka med en lambda som körs när användaren trycker:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    var count = 0
    binding.btnIncrement.setOnClickListener {
        count++
        binding.tvCount.text = "Count: $count"
    }

    binding.btnReset.setOnClickListener {
        count = 0
        binding.tvCount.text = "Count: 0"
    }
}

Läsa inmatning från EditText

Hämta texten som användaren skrev med .text.toString():

  • binding.etName.text.toString() – returnerar den aktuella texten som en String
  • Ta alltid bort blanksteg med .trim()
  • Kontrollera om texten är tom med .isBlank() eller .isEmpty()

Exempel med EditText + Button

Läs inmatning och visa den när en knapp trycks:

binding.btnGreet.setOnClickListener {
    val name = binding.etName.text.toString().trim()

    if (name.isBlank()) {
        binding.tvResult.text = "Please enter your name"
        return@setOnClickListener
    }

    binding.tvResult.text = "Hello, $name!"
}

Toast-meddelanden

En Toast är ett litet popup-meddelande som visas en kort stund längst ned på skärmen. Använd det för snabb återkoppling:

  • Toast.LENGTH_SHORT – cirka 2 sekunder
  • Toast.LENGTH_LONG – cirka 3,5 sekunder

Toast-exempel

Visa en Toast när en knapp trycks:

import android.widget.Toast

binding.btnSave.setOnClickListener {
    val input = binding.etEmail.text.toString().trim()

    if (input.contains("@")) {
        Toast.makeText(
            this,
            "Saved: $input",
            Toast.LENGTH_SHORT
        ).show()
    } else {
        Toast.makeText(
            this,
            "Invalid email address",
            Toast.LENGTH_LONG
        ).show()
    }
}

Inmatningstyper och tangentbord

Ange attributet inputType på EditText för att styra tangentbordet:

  • textEmailAddress – visar tangenten @
  • numberDecimal – numeriskt tangentbord
  • textPassword – döljer tecken
  • phone – knappsats för telefonnummer

Rätt inmatningstyper förbättrar användarupplevelsen avsevärt.

Snabbkontroll

Vilken metod läser den aktuella texten från en EditText som en String?

Sammanfattning: Hantera användarinmatning

Dina appar kan nu interagera med användare:

  • Aktivera ViewBinding för typsäker åtkomst till vyer
  • setOnClickListener { } – reagera på tryck
  • .text.toString().trim() – läs inmatning från EditText
  • Toast.makeText(...).show() – visa snabba återkopplingsmeddelanden
  • inputType – vägled användaren till rätt tangentbord

Nästa steg: navigera mellan skärmar med Intents.

Gratis att börja

Lär dig Kotlin med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
36
Lektioner
152

Vanliga frågor

Är lektionen ”Hantera användarinmatning” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Android Academy, inklusive ”Hantera användarinmatning”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Android Academy innehåller totalt 7 lektioner.

Vad lär jag mig i ”Hantera användarinmatning”?

Svara på knappklick, läs text från EditText, validera inmatning och ge användarna återkoppling med Toast-meddelanden. Ni övar på Android Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Android Academy?

Du behöver inga förkunskaper. Utbildningen i Android Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 7.

Hur lång tid tar lektionen ”Hantera användarinmatning”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Android Academy-lektionen?

Ja. Varje Android Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Projektstruktur och manifest
  2. Aktiviteter och livscykel
  3. Layouter och vyer
  4. Hantera användarinmatning
  5. Intents och navigering
  6. Fragments
  7. Behörigheter och begäranden under körning
← Tillbaka till Android Academy