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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

Q&A

解決済

1回答

718閲覧

Android Studio エミュレータエラー

yasuun

総合スコア7

Java

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

0グッド

0クリップ

投稿2021/01/22 08:59

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}

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasuun

2021/01/22 23:35

ありがとうございます、無事解決致しました。 また、Logcatの使い方について学ぶことができました。参考にさせて頂きます!
guest

回答1

0

ベストアンサー

java.lang.RuntimeException: setView must have been called
となっており、該当行を確認するとtoast2にsetViewされていないためであると思われ、
setViewしている箇所を見るとtoast1がふたつあり、ひとつはtoast2の誤りだと思われますのでそちらを修正すると落ちなくなるかと思います。

NOW

1 toast.setView(image); 2 toast1.setView(image1); 3 toast1.setView(image2);

fix

1 toast.setView(image); 2 toast1.setView(image1); 3 toast2.setView(image2);

投稿2021/01/22 12:44

razuma

総合スコア1313

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasuun

2021/01/22 23:40

ご回答頂きありがとうございます。 無事、落ちなくなりました! 悩んでたのでとても助かりました。????‍♀️
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問