ユーザー入力の処理
ボタンのクリックに応答し、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フィードバックを取得できます。ローカル設定は不要です。