0Pricing
Android Academy · レッスン

ユーザー入力の処理

ボタンのクリックに応答し、EditTextからテキストを読み取り、入力を検証して、Toastメッセージでユーザーにフィードバックを提供します。

「ユーザー入力の処理」はCoddyKit上の無料Android Academyレッスンです。 これはレッスン4/7です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAndroid Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Android Academyコースには全7レッスンが含まれています。

UIとコードを接続する

レイアウトの構築は最初のステップにすぎません。さらに、次のことも必要です。

  • EditTextにユーザーが入力した内容を読み取る
  • ボタンのクリックに応答する
  • 新しい値でTextViewを更新する

このレッスンでは、最新の型安全な方法であるViewBindingを使ってUI要素を接続する方法を説明します。

ViewBindingを有効にする

app/build.gradleでViewBindingを有効にします。

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

ViewBindingを使う

ViewBindingはXMLレイアウトからbindingクラスを生成します。レイアウトがactivity_main.xmlの場合、クラスは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!"
    }
}

ボタンのクリックを処理する

setOnClickListenerを使って、任意のViewにクリックリスナーを設定できます。ユーザーがタップしたときに実行されるlambdaを渡します。

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"
    }
}

EditTextの入力を読み取る

.text.toString()を使って、ユーザーが入力したテキストを取得します。

  • binding.etName.text.toString() — 現在のテキストをStringとして返します
  • 常に空白をトリミングします:.trim()
  • 空かどうかを確認します:.isBlank()または.isEmpty()を使用します

EditTextとButtonの例

入力を読み取り、ボタンがクリックされたときに表示します。

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メッセージ

Toastは、画面下部に短時間表示される小さなポップアップメッセージです。簡単なフィードバックに使用します。

  • Toast.LENGTH_SHORT — 約2秒間
  • Toast.LENGTH_LONG — 約3.5秒間

Toastの例

ボタンのクリックからToastを表示します。

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()
    }
}

入力タイプとキーボード

EditTextのinputType属性を設定して、表示するキーボードを指定します。

  • textEmailAddress — @キーを表示します
  • numberDecimal — 数値キーボードを表示します
  • textPassword — 文字を隠します
  • phone — 電話番号用のキーパッドを表示します

適切な入力タイプを設定すると、UXが大幅に向上します。

クイックチェック

EditTextの現在のテキストをStringとして読み取るメソッドはどれですか?

復習:ユーザー入力の処理

これでアプリがユーザーとやり取りできるようになりました。

  • ViewBindingを有効にして、型安全にViewへアクセスする
  • setOnClickListener { } — タップに応答する
  • .text.toString().trim() — EditTextの入力を読み取る
  • Toast.makeText(...).show() — 簡単なフィードバックメッセージを表示する
  • inputType — ユーザーに適切なキーボードを提示する

次は、Intentを使って画面間を移動します。

よくある質問

「ユーザー入力の処理」レッスンは無料ですか?

はい。「ユーザー入力の処理」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Android Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Android Academyコースには全7レッスンが含まれています。

「ユーザー入力の処理」で何を学びますか?

ボタンのクリックに応答し、EditTextからテキストを読み取り、入力を検証して、Toastメッセージでユーザーにフィードバックを提供します。 ブラウザで直接実行するハンズオンコードでAndroid Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Android Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAndroid Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/7です。

「ユーザー入力の処理」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAndroid Academyレッスンでコードを書いて実行できますか?

はい。すべてのAndroid Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. プロジェクト構成とマニフェスト
  2. アクティビティとライフサイクル
  3. レイアウトとビュー
  4. ユーザー入力の処理
  5. Intentとナビゲーション
  6. フラグメント
  7. 権限と実行時リクエスト
← Android Academyに戻る