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

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

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

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

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

Android

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

Android Studio

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

Q&A

1回答

4114閲覧

トーストが表示されない

Rivermouth

総合スコア19

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

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

Android

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

Android Studio

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

0グッド

0クリップ

投稿2021/01/08 10:10

編集2021/01/11 05:02

__はじめてのAndroidアプリ開発__というテキストで勉強しているのですが、分からないことがありますので、こちらで質問させていただきます。

####やりたいこと
「はい」「いいえ」「キャンセル」ボタンのダイアログクリック時に「正解です!」「ミス」トーストの表示

####状況
「はい」「いいえ」「キャンセル」ダイアログは表示されるが、クリック時にトーストが表示されない。ダイアログクリック後は元の画面に戻ってしまう。

####ソースコード

Java

1package to.msn.wings.dialogbutton; 2 3import androidx.appcompat.app.AppCompatActivity; 4import android.os.Bundle; 5import android.view.View; 6import androidx.fragment.app.DialogFragment; 7 8 9public class MainActivity extends AppCompatActivity { 10 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 } 16 17 public void btn_onClick(View view) { 18 DialogFragment dialog = new MyDialogFragment(); 19 dialog.show(getSupportFragmentManager(), "dialog_button"); 20 } 21}

java

1package to.msn.wings.dialogbutton; 2 3import android.app.AlertDialog; 4import android.app.Dialog; 5import android.content.DialogInterface; 6import android.os.Bundle; 7import androidx.fragment.app.DialogFragment; 8import android.widget.Toast; 9 10public class MyDialogFragment extends DialogFragment { 11 @Override 12 public Dialog onCreateDialog(Bundle savedInstanceState) { 13 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 14 return builder.setTitle("ダイアログの基本") 15 .setMessage("AndroidはJavaで開発できますか?") 16 .setIcon(R.drawable.wings) 17 .setPositiveButton("はい", 18 new DialogInterface.OnClickListener() { 19 public void onClick(DialogInterface dialog, int which) { 20 Toast.makeText(getActivity(), "正解です!", Toast.LENGTH_SHORT) 21 .show(); 22 } 23 } 24 ) 25 .setNegativeButton("いいえ", 26 new DialogInterface.OnClickListener() { 27 public void onClick(DialogInterface dialog, int which) { 28 Toast.makeText(getActivity(), "ミス!", Toast.LENGTH_SHORT) 29 .show(); 30 } 31 } 32 ) 33 .setNeutralButton("キャンセル", 34 new DialogInterface.OnClickListener() { 35 public void onClick(DialogInterface dialog, int which) { } 36 } 37 ) 38 .create(); 39 } 40} 41

xml

1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent"> 6 7 8 <Button 9 android:id="@+id/btn" 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:onClick="btn_onClick" 13 android:text="ダイアログ表示" /> 14

どなたか分かりやすいアドバイスをお願いできませんでしょうか?

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

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

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

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

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

guest

回答1

0

「はい」「いいえ」「キャンセル」ボタンが表示されてるやつがダイアログです。

イメージ説明

「正解です!」「ミス!」は、ダイアログではなく、画面の一番下にトーストというものを一時的に表示しています。

イメージ説明
また、「元の画面に戻る」というのがダイアログが閉じるということなら、それが正しい動作です。

投稿2021/01/08 11:18

hoshi-takanori

総合スコア7901

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

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

Rivermouth

2021/01/11 04:59

回答ありがとうございます。 すみません。間違えました。 トーストが表示されません。 ダイアログは表示されております。
Rivermouth

2021/01/14 13:44

すぐ消えると言っても普通に目視できるくらいですよね。。 エミュレータで確認しているのですが、表示されません。 見切れてしまっているのでしょうか。。
hoshi-takanori

2021/01/14 14:06

数秒でしょうか。もちろん目視できます。とりあえず MainActivity の btn_onClick を public void btn_onClick(View view) { Toast.makeText(getActivity(), "正解です!", Toast.LENGTH_SHORT).show(); } と書き換えて確認してみてはいかがでしょうか。 (Toast.LENGTH_SHORT を Toast.LENGTH_LONG にすると多少長くなります。誤差の範囲ですが。)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問