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

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

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

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

Android Studio

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

Q&A

解決済

1回答

1913閲覧

問題を解いて正解したときに「正解」と画像を表示させる方法

Takato-Nishiyam

総合スコア12

Android

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

Android Studio

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

0グッド

0クリップ

投稿2016/12/15 05:42

編集2016/12/15 05:52

簡単な四択クイズを作成しています。
その中で,正解したときにToastで「正解」と表示させていたのですが
このままではつまらないと感じ,正解したときには「正解」という画像を表示させたいと考えています。
ですが,.javaで表示させる方法が調べても分からず困っています。
どのようにしたらできるのでしょうか??
また,プログラムを簡略化できるのであれば教えてもらいたいです。
どうか、よろしくお願いします。
下記にプログラムを載せておきます。

public class Kuroneko_no_with01 extends AppCompatActivity implements View.OnClickListener{ /*ボタン*/ private Button Choice01; private Button Choice02; private Button Choice03; private Button Choice04; /*選択肢*/ private String[] Choice = {"ラグビー", "テニス", "バレー", "サッカー"}; /*解答*/ private String[] answer = {"","","",""}; /*制限時間*/ private ProgressBar mProgress3; private Handler mHandler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_kuroneko_no_with01); /*ボタン*/ Choice01 = (Button) findViewById(R.id.choice01); Choice01.setOnClickListener(this); Choice02 = (Button) findViewById(R.id.choice02); Choice02.setOnClickListener(this); Choice03 = (Button) findViewById(R.id.choice03); Choice03.setOnClickListener(this); Choice04 = (Button) findViewById(R.id.choice04); Choice04.setOnClickListener(this); /*乱数のListを作成*/ List<Integer> ran = new ArrayList<>(); for(int i = 0; i < Choice.length; i++) { int tmp =(int)(Math.random()*4); ran.add(i,tmp); if(i >= 1) { for (int j = 0; j < i; j++) { if(ran.get(j) == tmp){ i--; ran.remove(j); } } } } /*ボタンの名前*/ Choice01.setText(Choice[ran.get(0)]); Choice02.setText(Choice[ran.get(1)]); Choice03.setText(Choice[ran.get(2)]); Choice04.setText(Choice[ran.get(3)]); /*制限時間の設定*/ mProgress3 = (ProgressBar) findViewById(R.id.progress3); mProgress3.setMax(20); mProgress3.setProgress(0); new Thread(new Runnable() { @Override public void run() { while(mProgress3.getProgress() < 20) { mHandler.post(new Runnable() { @Override public void run() { mProgress3.incrementProgressBy(1); } }); try { Thread.sleep(1000); } catch (InterruptedException e) { } } finish(); } }).start(); } @Override public void onClick(View v) { answer[0] = Choice01.getText().toString(); answer[1] = Choice02.getText().toString(); answer[2] = Choice03.getText().toString(); answer[3] = Choice04.getText().toString(); /**/ if(v == Choice01){ if(answer[0] == "ラグビー") { **ここに「正解」を表示させるプログラムを書きたい** // インテントのインスタンス生成 Intent intent = new Intent(this, Kuroneko_no_with01.class); /*遷移開始*/ startActivity(intent); }else{ Toast.makeText(this, "不正解", Toast.LENGTH_LONG).show(); } }else if(v == Choice02){ if(answer[1] == "ラグビー") { // インテントのインスタンス生成 Intent intent = new Intent(this, Kuroneko_no_with01.class); /*遷移開始*/ startActivity(intent); }else{ Toast.makeText(this, "不正解", Toast.LENGTH_LONG).show(); } }else if(v == Choice03){ if(answer[2] == "ラグビー") { // インテントのインスタンス生成 Intent intent = new Intent(this, Kuroneko_no_with01.class); /*遷移開始*/ startActivity(intent); }else{ Toast.makeText(this, "不正解", Toast.LENGTH_LONG).show(); } }else if(v == Choice04){ if(answer[3] == "ラグビー") { // インテントのインスタンス生成 Intent intent = new Intent(this, Kuroneko_no_with01.class); /*遷移開始*/ startActivity(intent); }else{ Toast.makeText(this, "不正解", Toast.LENGTH_LONG).show(); } } } }

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

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

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

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

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

guest

回答1

0

ベストアンサー

下記のようにすると簡単です。
・activity_kuroneko_no_with01.xmlの中にImageViewを追加する。
・追加したImageViewのvisiblityをinvisibleに設定する。
・正解のタイミングでImageViewのvisiblityをvisibleに変更する。

投稿2016/12/15 06:16

yona

総合スコア18155

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

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

Takato-Nishiyam

2016/12/15 16:46

できました!! ありがとうございます! ついでになんですけども...。 プログラムを途中で止めるようなプログラムってありますか??
yona

2016/12/16 01:06

ついでの質問は良くないですよ。 UIスレッドは止めてはいけません。 止めたい処理があるならワーカースレッドを別に作成し、そのスレッドを止めましょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問