アンドロイドスタジオでアプリを作成しています。
実現したいこと
ボタンを押すと
・スタート → 下記に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 { }
試したこと
種類の違うスマホでデバックを試みたところしっかりと表示できませでした。
回答1件
あなたの回答
tips
プレビュー