【Kotlin】Toastを表示する方法を解説

Androidアプリ開発
記事内に広告が含まれています。

この記事ではAndroidでToastを表示する方法を解説します。

具体的な実装方法だけでなくToastが上手く表示されない時の原因と解決策も紹介しています。

Kotlinのサンプルコード付きで説明しているのでぜひ参考にしながら実装してみてください。

完成イメージ

上の画像のようにボタンが押された時に「ボタンが押されました」という文章がToastで数秒間表示されるようにします。

実装

ここからToastの実装方法について解説していきます。

プロジェクトにはactivity_main.xmlとMainActivityがある前提で進めていきます。

先にサンプルコードを確認したい方はこちらからお読みください。

実装方法と解説

レイアウトは中央にButtonを配置するだけなので特に解説はしません。レイアウトのソースコードはこちらで確認してください。

ここからはボタンを押してToastを表示するためのコードを紹介します。以下のコードをMainActivityに追加しましょう。

val toastButton:Button = findViewById(R.id.toastButton)

toastButton.setOnClickListener{
    Toast.makeText(applicationContext, "ボタンが押されました", Toast.LENGTH_SHORT).show()
}

このコードを追加するだけでボタンを押したときにToastを表示できます。

ひとつずつ詳しく解説します。

val toastButton:Button = findViewById(R.id.toastButton)

toastButton.setOnClickListener{
    …
}

上のコードでボタンを押したときの動きを設定しています。波括弧の中にボタンが押された時の動き(今回はToast)を記述します。

Toast.makeText(applicationContext, "ボタンが押されました", Toast.LENGTH_SHORT).show()

このコードでToastされるようにしています。

makeTextの第1引数ではcontext、第2引数でToastに表示する文章、第3引数でToastを表示する長さを指定しています。

第3引数をToast.LENGTH_LONGにするとToastが少しだけ長く表示されます。

サンプルコード

MainActivity

package com.example.sample

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.Toast

class MainActivity : AppCompatActivity() {

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

        val toastButton:Button = findViewById(R.id.toastButton)

        toastButton.setOnClickListener {
            Toast.makeText(applicationContext, "ボタンが押されました", Toast.LENGTH_SHORT).show()
        }

    }

}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/toastButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Toastが表示されない時は

Toastが表示されない時はコードの最後に.show()があるか確認しましょう。.show()がないとToastが表示されません。

Toast.makeText(applicationContext, "ボタンが押されました", Toast.LENGTH_SHORT).show()

Toastのコードの最後に.show()がない時、Android Studioでは以下の画像のようにコードが黄色く表示されます。上手く表示されない時は確認してみましょう。

まとめ

今回はKotlinを使ってToastを表示する方法について解説しました。いかがだったでしょうか。

Toastの実装は少ないコードで済むのでとても簡単です。この記事を参考にして是非実装してみてください。

参考:Toast  |  Android Developers

以下の記事ではProgressBarの実装方法について解説しています。ProgressBarも簡単に実装できるので是非併せて読んでみてください。

コメント

タイトルとURLをコピーしました