I have seen two general practices to instantiate a new Fragment in an application: Fragment newFragment = new MyFragment(); and Fragment newFragment = MyFragment.newInstance(); The second option makes use of a static method newInstance() and generally contains the following method. public static Fragment newInstance() { MyFragment myFragment = new MyFragment(); return myFragment; } At first, I tho
AndroidのFragment関係でハマった事のメモ書き。 1. Fragment(を継承したクラス)はstatic classでないと駄目 Fragmentをstaticで宣言していないと画面の向きが変わった際に行われる savedInstanceStateからの復帰時に以下のエラーが発生する。 java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx.yyyyy.zzzzz/xxx.yyyyy.zzzzz.HogeActivity}: android.app.Fragment$InstantiationException: Unable to instantiate fragment xxx.yyyyy.zzzzz.HogeActivity$HugaListFragment: make sure cl
以前Android TabActivityとTabHostを使用してTab画面を表示するで作成したTab画面はTabActivityを継承し作成していましたが Android3.xよりTabActivityは非推奨になったようです。 TabActivityを使用しないでTab画面を作成する方法です。 Android3.0より導入されたActionBarとFragmentを使用します。 対象: Build SDK:Android 4.0 (API 14) / Min SDK:Android 4.0 (API 14) Android 2.x でActionBarとFragmentを使用してTab画面を表示する方法はコチラ Android ActionBarとFragmentを使用してTab画面を表示する(Android 2.x) まずメインとなるアクティビティを作成します。 android.a
DialogFragment を private なインナークラスで定義してたら、 画面の回転(Activity再生成) でアプリが落ちてしまった。 出力された例外はこれ。 Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment ErrorCaseDialogFragment: make sure class name exists, is public, and has an empty constructor that is public Fragment が private なインナークラスなので、 外部からコンストラクタ呼び出せなくて例外になった様子。 使用したコードはこんなかんじ。 ErrorCaseDialogFragment のクラス定義を private s
Fragment のサンプルでは、setArguments() を使って Bundle を介して値を渡している例を多く見かけます。 ① HogeFragment f = new HogeFragment(); Bundle args = new Bundle(); args.putInt("num", num); f.setArguments(args); とやるより ② HogeFragment f = new HogeFragment(num); や ③ HogeFragment f = new HogeFragment(); f.setNum(num); とかやった方がいいんじゃない? Arguments 介するのは面倒じゃない?なにがいいの? と思う人も多いのではないでしょうか。 そこで、Arguments がどういいのかを説明したいと思います。 1. Fragment のコンスト
Android 3.0以降でタブレット向けに追加されたFragmentが、Android 4.0でスマートフォンでも利用出来るように拡張されました。 今まではTabletの画面構成の一部をフラグメント化(断片化)し、再利用に利用することが多かったと思われますが、 スマートフォン/タブレット共通のプラットフォームとなったことでUIの両対応に利用できるようになりました。 本エントリでは、リスト表示するアプリを例にスマートフォン、タブレットのUI両対応を行います。 フラグメントをつかうことでスマホ/タブレットで共通パーツをつかって効率的な開発をすることができます。 ■図1:スマートフォンとタブレットのList表示と詳細表示 上記の図は、List(緑色パーツ)と詳細表示(オレンジパーツ)の2つのUI部品を用意し、 タブレットでは2カラムで同時に表示しています。 スマートフォンでは画面が狭いため、緑
「PreferenceFragmentを使って2Paneな設定画面を作成する」「Fragmentを使ってMenuを動的に作成する」にて、Android3.0で追加された、Fragmentについて紹介してきました。 今回も、Fragmentの機能を紹介していきます。 FragmentはActivityなどと同じ様に、ライフサイクルを持ちます。 それらを確認した上で、Button操作による、Fragmentの追加/編集を行っていきましょう。 Fragmentのライフサイクル Fragmentにはライフサイクルがあります。 それは以下の通り。基本的な流れはActivityと同様ですが、UIの生成等に関わるMethodが追加されています。 〜コアライフサイクルMethod〜 1. onAttach(Activity) →Activityに関連付けされた際に一度だけ呼ばれる。 2. onCreate
「PreferenceFragmentを使って2Paneな設定画面を作成する」「Fragmentを使ってMenuを動的に作成する」にて、Android3.0で追加された、Fragmentについて紹介してきました。 今回も、Fragmentの機能を紹介していきます。 FragmentはActivityなどと同じ様に、ライフサイクルを持ちます。 それらを確認した上で、Button操作による、Fragmentの追加/編集を行っていきましょう。 Fragmentのライフサイクル Fragmentにはライフサイクルがあります。 それは以下の通り。基本的な流れはActivityと同様ですが、UIの生成等に関わるMethodが追加されています。 〜コアライフサイクルMethod〜 1. onAttach(Activity) →Activityに関連付けされた際に一度だけ呼ばれる。 2. onCreate
タブレットでFragmentを増やしたり減らしたりする超簡単なサンプル。 画面を左右にわけ、左半分に表示されているFragment上のボタンを押すと右半分に新たなFragmentを表示させる。右Fragmentのボタンを押すと右Fragmentを一つ消す。左Fragmentのボタンを連打すると右Fragmentが多重に積み重なる。 main.xml (親ActivityのView) ・fragment.xml (FragmentのView) ・TestActivity (親Activity) ・Fragment1(画面左に最初から表示されているFragment) ・Fragment2 (画面右に表示するFragment)
先日、Android3.0(Honeycomb)のプレビュー版SDKが公開されました。 Honeycombから新しく実装されるFragment、それを利用し今回は早速2Paneな設定画面を作成してみます。 ※ただし、プレビュー版であるためAPIは正規版と使用方法/動作内容が異なる場合があります。 それでは、続きをどうぞ 必要なもの 2Paneな設定画面を作成するのに、必要なものは以下の2つです。 「Header部分用のXMLファイル」 「Header要素ごとに、右Paneに表示させる内容」 非常に簡単な実装で、画像の様な画面を作成できます。 Header要素 まず、左側のPaneを作成します。 これらは、preference-headers要素として、preference_fragment.xmlに記述しています。 ◇preference_fragment.xml◇ <preference
I just noticed the fact that the method addPreferencesFromResource(int preferencesResId) is marked deprecated in Android's documentation (Reference Entry). Unfortunately, no alternative method is provided in the method's description. Which method should be used instead in order to connect a preferenceScreen.xml to the matching PreferenceActivity?
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く