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

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

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

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

Q&A

解決済

1回答

1536閲覧

Activityのライフサイクルについて

re97

総合スコア208

Android

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

1グッド

1クリップ

投稿2018/05/23 03:43

分からないこと
・Activity起動した際、
「onCreate」→「onStart」→「onResume」と表示させたいのですが、
「onCreate」しか表示されません

試したこと
このページに掲載されたコードを実行しました
・期待した通り表示されないのは、Toast.makeText表示している間、次のToast.makeText命令が発生しているからですか?
・「onCreate」→「onStart」→「onResume」と表示させるにはどうすれば良いでしょうか?

keicha_hrs👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

掲載されたコードをそのまま実行してみましたが、全ての項目においてページに記された通りの挙動をしています。onCreateしか表示されないという現象は確認できません。新規作成したプロジェクトに、参考ページのコードをコピーペーストした以外は、特別な作業は一切行っていません。

動作している様子を動画gifにしてみました。

端末によってToastが正常に機能しないことがあるという可能性も考えにくいですね。例えば下図のようなコードにしても、表示されるのは"onCreate"のみであったりしますか?

Java

1public class MainActivity extends AppCompatActivity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 Toast.makeText(this, "onCreate", Toast.LENGTH_SHORT).show(); 7 Toast.makeText(this, "onStart", Toast.LENGTH_SHORT).show(); 8 Toast.makeText(this, "onResume", Toast.LENGTH_SHORT).show(); 9 setContentView(R.layout.activity_main); 10 } 11}

投稿2018/05/23 04:40

編集2018/05/23 04:49
keicha_hrs

総合スコア6768

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

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

re97

2018/05/24 02:51

gif作成いただきありがとうございます。おかげで、本来であればどういう風に動作するのか、イメージすることができました。また、提示いただいたコードだけで試したのですが、表示されるのは"onCreate"のみでした。環境は、AndroidStudioで作成したコードをAndroid 8.1.0のスマホ実機とUSB接続しています
keicha_hrs

2018/05/24 14:14 編集

うわー、確かにAndroid 8.1のエミュレーターで動かすとonCreateしか表示されない・・・。こちらでも再現できたので、端末依存ではなくAndroidのバージョンによる挙動の違いのようですね。 従来は、Toastの出力を連続して指示すると、それらがキューイングされて順次表示されるようになっていました。上に挙げたgif動画はAndroid 8.0のエミュレーターで行ったものなのですが、8.1で仕様が変わったのかな? 私自身の問題としてもこれはきちんと調べ直す必要があるので、わかったらまた追記します。申し訳ありません。
re97

2018/05/25 00:45

確認いただきありがとうございました。まさかとは思ったのですが、「Android OS」バージョンの問題なのですね。原因がさっぱり分からなくて困っていました。原因が分かっただけでも良かったです
keicha_hrs

2018/05/25 05:31 編集

onCreateしか表示されないのが第三者も再現できたということで解決ということで宜しいのでしょうか?もし本題であるライフサイクルの推移を視認したければ、LogCatを利用すれば良いのではないかと思いますが(必要とされるならば回答欄で解説します)。
re97

2018/05/26 05:01

コメントありがとうございました。完全に解決したわけではないのですが、Toastで表示できないことが分かった時点で疑問のほとんどは解決したと思っています。LogCatで検索してみたら、それらしい内容が見つかったので先ずはそちらを自力で試してみたいと思います。もし分からないことがあれば、別途質問します
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問