Android Studioにて簡単な占いアプリを作り、練習しています。
画像をtoastで表示すべくコードを調べて追加した所、エミュレーターを起動し、アプリの"占いをスタート"のボタンを押すと上記画像のようなエラーメッセージが出てきます。
解決方法を調べましたが、xmlにtoastに必要な処理がないとの記載を見つけましたがよくわかりませんでした。
ご回答よろしくお願い致します。
Java
1下記XML 2 3<?xml version="1.0" encoding="utf-8"?> 4<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 5 xmlns:app="http://schemas.android.com/apk/res-auto" 6 xmlns:tools="http://schemas.android.com/tools" 7 android:layout_width="match_parent" 8 android:layout_height="match_parent" 9 tools:context=".MainActivity" 10 android:background="@color/cardview_dark_background" 11 > 12 13 <Button 14 android:id="@+id/Button1" 15 android:layout_width="wrap_content" 16 android:layout_height="wrap_content" 17 android:background="@color/white" 18 android:text="ここをタップして占いスタート" 19 android:textColor="@color/black" 20 android:textSize="20dp" 21 app:backgroundTint="#FFFFFF" 22 app:layout_constraintBottom_toBottomOf="parent" 23 app:layout_constraintLeft_toLeftOf="parent" 24 app:layout_constraintRight_toRightOf="parent" 25 app:layout_constraintTop_toTopOf="parent" /> 26 27 <TextView 28 android:id="@+id/TextView" 29 android:layout_width="wrap_content" 30 android:layout_height="wrap_content" 31 android:textColor="@color/black" 32 android:background="@color/white" 33 android:textSize="50dp" 34 app:layout_constraintBottom_toTopOf="@+id/Button1" 35 app:layout_constraintEnd_toEndOf="parent" 36 app:layout_constraintStart_toStartOf="parent" 37 app:layout_constraintTop_toTopOf="parent" 38 tools:text="結果" /> 39 40 <ImageView 41 android:id="@+id/Franky" 42 android:layout_width="195dp" 43 android:layout_height="191dp" 44 android:layout_marginTop="94dp" 45 app:layout_constraintBottom_toBottomOf="parent" 46 app:layout_constraintEnd_toEndOf="parent" 47 app:layout_constraintStart_toStartOf="parent" 48 app:layout_constraintTop_toBottomOf="@+id/Button1" 49 tools:ignore="MissingConstraints" 50 tools:src="@drawable/onepiece_franky" /> 51 52 <ImageView 53 android:id="@+id/arron" 54 android:layout_width="155dp" 55 android:layout_height="275dp" 56 android:layout_marginTop="21dp" 57 app:layout_constraintBottom_toBottomOf="parent" 58 app:layout_constraintEnd_toEndOf="parent" 59 app:layout_constraintStart_toStartOf="parent" 60 app:layout_constraintTop_toBottomOf="@+id/Button1" 61 tools:src="@drawable/onepiece11_arlong" 62 tools:ignore="MissingConstraints" /> 63 64 <ImageView 65 android:id="@+id/choppa" 66 android:layout_width="201dp" 67 android:layout_height="212dp" 68 android:layout_marginTop="101dp" 69 tools:src="@drawable/onepiece06_chopper" 70 app:layout_constraintBottom_toBottomOf="@+id/arron" 71 app:layout_constraintEnd_toEndOf="parent" 72 app:layout_constraintStart_toStartOf="parent" 73 app:layout_constraintTop_toBottomOf="@+id/Button1" 74 tools:ignore="MissingConstraints" /> 75 76 77</androidx.constraintlayout.widget.ConstraintLayout> 78 79下記Main.java 80 81import androidx.appcompat.app.AppCompatActivity; 82 83import android.graphics.Bitmap; 84import android.graphics.BitmapFactory; 85import android.os.Bundle; 86import android.view.Gravity; 87import android.view.View; 88import android.widget.Button; 89import android.widget.ImageView; 90import android.widget.TextView; 91 92import android.widget.Toast; 93 94 95import java.util.Random; 96 97import static android.widget.Toast.LENGTH_LONG; 98 99public class MainActivity extends AppCompatActivity { 100 101 @Override 102 protected void onCreate(Bundle savedInstanceState) { 103 super.onCreate(savedInstanceState); 104 setContentView(R.layout.activity_main); 105 106 Button Button1 = findViewById(R.id.Button1); 107 TextView TextView1 = findViewById(R.id.TextView); 108 ImageView franky = findViewById(R.id.Franky); 109 ImageView arron = findViewById(R.id.arron); 110 ImageView choppa = findViewById(R.id.choppa); 111 Bitmap btm0 = BitmapFactory.decodeResource(getResources(), R.drawable.onepiece_franky); 112 Bitmap btm1 = BitmapFactory.decodeResource(getResources(), R.drawable.onepiece11_arlong); 113 Bitmap btm2 = BitmapFactory.decodeResource(getResources(), R.drawable.onepiece06_chopper); 114 115 //3つの画像にtoastを追加させる処理 116 ImageView image = new ImageView(this); 117 ImageView image1 = new ImageView(this); 118 ImageView image2 = new ImageView(this); 119 120 image.setImageResource(R.drawable.onepiece_franky); 121 image1.setImageResource(R.drawable.onepiece11_arlong); 122 image2.setImageResource(R.drawable.onepiece06_chopper); 123 124 Toast toast = new Toast(this); 125 Toast toast1 = new Toast(this); 126 Toast toast2 = new Toast(this); 127 128 toast.setView(image); 129 toast1.setView(image1); 130 toast1.setView(image2); 131 //toast.show(); 132 133 //ボタンを押した時に起る処理 134 Button1.setOnClickListener(new View.OnClickListener() { 135 @Override 136 public void onClick(View v) { 137 //ボタンを押した時の処理 138 String unsei; 139 Random random = new Random(); 140 switch(random.nextInt(10)){ 141 case 0: 142 unsei="大吉"; 143 break; 144 case 1: 145 unsei="中吉"; 146 break; 147 case 2: 148 unsei="小吉"; 149 break; 150 case 3: 151 unsei="吉"; 152 break; 153 case 4: 154 unsei="末吉"; 155 break; 156 case 5: 157 unsei="末正吉"; 158 break; 159 case 6: 160 unsei="凶"; 161 break; 162 case 7: 163 unsei="小凶"; 164 break; 165 case 8: 166 unsei="半凶"; 167 break; 168 case 9: 169 unsei="末凶"; 170 break; 171 case 10: 172 unsei="大凶"; 173 break; 174 default: 175 throw new IllegalStateException("Unexpected value: " + random.nextInt(10)); 176 } 177 TextView1.setText(unsei); 178 if ("大吉".equals(unsei)){ 179 toast.show(); 180 } else if ("大凶".equals(unsei)) { 181 toast1.show(); 182 183 } else if ("大吉" != unsei && "大凶" != unsei) { 184 toast2.show(); 185 186 } 187 } 188 }); 189 } 190}
回答1件
あなたの回答
tips
プレビュー