質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

解決済

3つのボタンにそれぞれトースト表示をしたい

maugura
maugura

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

1回答

0リアクション

0クリップ

308閲覧

投稿2022/09/12 01:50

アンドロイドスタジオでアプリを作成しています。

・3つのボタンにそれぞれ下記にトーストで表示したいです。
イメージ説明

実現したいこと

ボタンを押すと
・スタート → 下記にstartと表示
・登録   → 下記にregと表示
・説明   → 下記にhelpと表示

発生している問題・エラーメッセージ

作成しているときにButtonClickListener.javaのファイルが出てきてしまいました。これも影響しているんでしょうか?
一通りコードは打ち込んだのですがデバックするとスマホにアプリが表示されません。

該当のソースコード

MainActivity.java

package com.example.obsercam; import android.content.Context; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import static com.example.obsercam.R.id.btn2; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //各ボタンのオブジェクトを取得 Button button = findViewById(R.id.btn); Button button2 = findViewById(btn2); Button button3; button3 = findViewById(R.id.btn3); //スコープの外に作っておいたリスナクラスのインスタンスを生成 ButtonClickListener listener = new ButtonClickListener(); //各ボタンにlistenerを設定 button.setOnClickListener((View.OnClickListener) listener); button2.setOnClickListener((View.OnClickListener) listener); button3.setOnClickListener((View.OnClickListener) listener); } //リスナクラスを実装 private class TopListener implements View.OnClickListener{ //クリックされた時の処理をonClick()に記述 @Override public void onClick(View view){ TextView button =findViewById(R.id.btn); TextView button2 =findViewById(R.id.btn2); TextView button3 =findViewById(R.id.btn3); //押されたボタンのidを取得 int id = view.getId(); //ボタンのidによって処理を分岐させる。 switch (id){ //スタートを押したときにstartと表示 case R.id.button: System.out.println("start"); break; //登録を押したときにregと表示 case R.id.button2: System.out.println("reg"); break; //説明を押したときにhelpと表示 case R.id.button3: System.out.println("help"); break; } } } }

strings.xml

<?xml version="1.0" encoding="UTF-8" ?> <resources> <string name="app_name" translatable="false">ObserCam</string> <string name="bt_click">スタート</string> <string name="bt_click2">登録</string> <string name="bt_click3" >説明</string> </resources> 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"> <ImageView android:id="@+id/hatarakimake" android:layout_width="329dp" android:layout_height="267dp" android:layout_marginStart="44dp" android:layout_marginLeft="44dp" android:layout_marginTop="31dp" android:layout_marginEnd="38dp" android:layout_marginRight="38dp" android:layout_marginBottom="20dp" app:layout_constraintBottom_toTopOf="@+id/button" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@drawable/hataraitaramake" /> <Button android:id="@+id/button" android:layout_width="263dp" android:layout_height="70dp" android:layout_marginStart="75dp" android:layout_marginLeft="75dp" android:layout_marginTop="46dp" android:layout_marginEnd="74dp" android:layout_marginRight="74dp" android:layout_marginBottom="20dp" android:text="スタート" app:layout_constraintBottom_toTopOf="@+id/button2" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="1.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/hatarakimake" /> <Button android:id="@+id/button2" android:layout_width="260dp" android:layout_height="72dp" android:layout_marginStart="74dp" android:layout_marginLeft="74dp" android:layout_marginTop="20dp" android:layout_marginEnd="77dp" android:layout_marginRight="77dp" android:layout_marginBottom="20dp" android:text="登録" app:layout_constraintBottom_toTopOf="@+id/button3" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/button" /> <Button android:id="@+id/button3" android:layout_width="260dp" android:layout_height="69dp" android:layout_marginStart="74dp" android:layout_marginLeft="74dp" android:layout_marginTop="20dp" android:layout_marginEnd="77dp" android:layout_marginRight="77dp" android:layout_marginBottom="32dp" android:text="説明" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/button2" /> </androidx.constraintlayout.widget.ConstraintLayout>

ButtonClickListener.java

package com.example.obsercam; class ButtonClickListener { }

試したこと

種類の違うスマホでデバックを試みたところしっかりと表示できませでした。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

jimbe

2022/09/12 02:11

ファイル毎にマークダウンを分けてください。
hoshi-takanori

2022/09/12 02:13

ButtonClickListener を View.OnClickListener にキャストしようとして落ちてるんでしょうね。 TopListener の方を使えば良いのでは…。
dodox86

2022/09/12 02:25 編集

> 作成しているときにButtonClickListener.javaのファイルが出てきてしまいました。 未定義のクラス、メソッドを使おうとするとAndroid Studioのエディターで補完しようとして、ここで選択を誤ると勝手に作られてしまう場合はありますね。惑わされちゃったのもあるかと思います。
maugura

2022/09/12 04:25

・初心者ですみません。ファイル毎にマークダウンするのを忘れました。 ・ButtonClickListener → TopListenerに書き換えればいいのでしょうか? ・未定義のクラス、メソッドの選択を誤っている部分はどこでしょうか?
jimbe

2022/09/12 05:21

初心者だからと謝る必要はありません。 質問は編集できますので、分かりにくい部分を直していただければというだけのことです。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。