タグ

Fragmentに関するy-kobayashiのブックマーク (10)

  • Fragment使用時のIllegalStateException回避 - Qiita

    前置き このページの内容はstackoverflowの素晴らしい回答を参考にしている。 IllegalStateException? Fragmentを使っていると、画面遷移の際に以下の様が例外が発生することがある。 java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState これは非同期処理などでFragmentの操作タイミングがonSaveInstanceState()よりも後になってしまった場合に発生するものだ。 onSaveInstanceState()ではFragmentの状態も含めた画面情報を保存するため、それ以降のタイミングでFragmentを操作するとおかしくなるぞ!ということだろう(多分)。 詳しいことは(解決策も)下記リンクに詳しくまとめられているので、じっ

    Fragment使用時のIllegalStateException回避 - Qiita
  • fragmentの再生成時、状態を引き継ぐ方法について - うさがにっき

  • Fragmentの設置について私がやってるベストプラクティス - Qiita

    先日、@kiriminさんからこんなツイートがありました。 onCreateでのaddFragmentでFragment増殖するやつ三現場連続で遭遇しててBaseActivityにaddFragmentメソッドを生やすところまで同じなのでどこかに悪いサンプルがあるのではと疑ってる — きりみん (@kirimin) 2017年8月9日 ピンとこなかったので記事で見てみたいです(無茶振り) — なかざん@🍺 (@Nkzn) 2017年8月9日 というわけで、雑に煽ってみたら記事を書いていただけました ありがとうございました FragmentをonCreateで何も考えずにaddして増殖するケースが後を絶たない件 実はこの内容、4年くらい前からベストプラクティスとしてやっていました。特にアウトプットしたことがなかった(たぶん)ので、この機会に知っていることを吐き出しておこうと思います。 ※こ

    Fragmentの設置について私がやってるベストプラクティス - Qiita
  • FragmentのIllegalStateException回避 - Intelligent Technology's Technical Blog

    こんにちは、間藤です。だいぶ間が空いてしまいましたが、またもやAndroidネタです。 前回は、ViewPagerを利用するうえで押さえておきたいポイントを確認してみました。今回は、Fragmentのトランザクションに関するものです。このネタは、「Stack Overflow」の以下の投稿をベースにしています。 android - How to handle Handler messages when activity/fragment is paused - Stack Overflow ちゃんと目を通せば「なるほど」となるのですが、(私にとっては)最初わかりにくかったので、私が理解した内容を以下に整理してみようと思います。 IllegalStateException Fragmentの操作でこの例外が発生するシナリオを考えてみます。 ある画面上のボタンをタップすると、ネットワーク上のデ

    FragmentのIllegalStateException回避 - Intelligent Technology's Technical Blog
  • [Deprecated] Kotlin extensions to commit Fragments safely 😎

    Use the official FragmentManager extension to manage fragments: https://developer.android.com/guide/fragments/transactions Since fragments appeared in Android, many developers have criticized this component. The main reasons to not recommend fragments in android are; complex lifecycle, hard to debug and easy to lose the fragment state. Regarding this last reason, how many of you have seen this exc

  • fragmentの作成、再生成について - うさがにっき

    概要 fragmentを作成する際に、画面回転イベントなどでactivityと共にfragmentも再生成されることがよくある その際、再生成前の状態を保持する方法 詳細 onCreateでfragmentを以下のように作成すると、Activityが再生成されるタイミングでfragmentが新しく作り直されてしまって、状態が保持されない // bad knowhow @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FragmentManager manager = getFragmentManager(); // 常に新しいインスタンスを作成していると状態を引き継げない MainFragment mainFragment = new MainFra

    fragmentの作成、再生成について - うさがにっき
  • 知らずに作って大丈夫?Androidの基本的なライフサイクルイベント31選

    連載「実業務でちゃんと使えるAndroidアプリ開発入門」では、バージョンの違いに左右されないスタンダードなアーキテクチャで、セキュリティやパーミッション、テストのしやすさ、開発効率の向上などを考慮した、実業務で使えるAndroidアプリ開発のノウハウを提供していきます。 前回の連載の今後を紹介し、アプリ間連携でさまざまなことができるACTION_OUTSIDEイベントの使い方を解説しました。 今回はAndroidアプリ開発において必ず押さえておかなければならないライフサイクルイベントについて解説します。対象はActivity、Fragment、View、Applicationの4つです。 また、ライフサイクルイベントを利用して、アプリの「状態」を保存/復元する方法についても解説します。 【1】必要な処理を必要なタイミングで行える Activity、Fragmentのライフサイクルイベン

    知らずに作って大丈夫?Androidの基本的なライフサイクルイベント31選
  • Fragmentをネストする際の注意点 - Just for Fun

    Fragmentが登場してからActivityに全てのコントローラーロジックが集約される悪夢から開放された訳ですが、公式リファレンスをちゃんと読まずに実装しているとハマりますよ、というお話。 そうそう、Fragment自体はHoneycombで登場しましたが、ネスト出来るようになったのはJelly Beanからなんですね。 作業環境 Mac OS X 10.9.1 Android Studio 0.4.3 Fragmentのネスト Fragmentを使って開発をしていると当然それらをネストすることもあると思います。その際にFragmentTransactionやFragmentManagerを使うと思いますが、ActivityのRoot ViewにFragmentを入れる場合とFragmentにFragmentを入れる場合では微妙にやり方が異なります。 前者の場合はいつも通りにトランザクシ

    Fragmentをネストする際の注意点 - Just for Fun
  • 【Android】Fragmentを使うときのコツとか色々 - Qiita

    はじめに 個人的な経験から、Fragmentを使うときに気にしたり気づいたことをまとめました。 Fragmentの初期設定値とか、生成時に値を渡す時はsetArguments Fragmentのコンストラクタはpublicで無修正なやつじゃないと怒られるので、コンストラクタをカスタマイズしてnewする時に値を渡すことが出来ない。 また、getInstance等を作って値を渡すことを考えるかもしれないが、Fragmentが破棄されて再生成されるときに動的フィールドは全て初期化される。このとき最初からライフサイクルが走り直すが、getInstanceを通らないので初期値を受け取れず、来の動作を行えなくなる。 なのでFragmentセット時に値を渡して、それで状態を切り替えたりしたいときは setArguments() か onSaveInstanceState() を使おう。 使い方は以下の

    【Android】Fragmentを使うときのコツとか色々 - Qiita
  • Android はじめてのFragment

    この記事はとある勉強会で身内のために作成したもので、Fragmentをまだあまり使ったことの無い方が、どうしてFragmentを使うのかと、どこから始めればいいのかをまとめたものになります。 Fragment(フラグメント)とは? Fragmentとは、簡単にいうと、コンテンツとライフサイクルを持ったビューです。 プログラミングでいうライフサイクルとは、インスタンスが作成されてから、それが捨てられるまでの一連の流れのことをいいます。 Androidでは、例としてActivity(アクティビティ)だとインスタンスが作成される際にonCreateメソッドが呼ばれ、破棄される際にonDestroyメソッドが呼ばれ、他にも画面の状態によって、onResume・onStart・onPause・onStopなどのメソッドが呼ばれます。 このように、ライフサイクルに応じて呼び出されるメソッドを持っている

    Android はじめてのFragment
  • 1