Android

Fragment.onAttach

Fragment.onAttachは、FragmentがActivityにアタッチされた時に呼ばれる。Fragment | Android Developersアタッチって表現が難しい(紐付けられると言えばそう)のだが、ここに来ると、Activityを参照できるようになるらしい。 それはさておいて、Activityへの…

Fragment.onInflate

カスタムビューと同様に、FragmentにおいてもAndroid XMLで独自の属性をコード側に渡すことが出来る。 Fragment.onInflateで、もらえる。Fragment | Android Developersstrings.xmlで、fragment1_textview_textで、Fragment1と定義。 attrs.xmlで、Fragment1…

TypedArray.recycle

TypedArrayは、使い終わったらrecycleする必要がある模様。TypedArray | Android Developers以前のmixedarray取得で、ログやデバッガでrecycle前後の違いを見てみる。 MainActivity.javaで、こんな感じでどうなるか。 beforebefore。 こうなっているこうなっ…

Resources.obtainAttributes

Resources.obtainAttributesで、CustomViewの独自属性の値を取得する。Resources | Android Developersactivity_main.xmlは、

TypedArray.getColor

TypedArray.getColorで、指定されたインデックスの値を色コード16進数整数として取得。TypedArray | Android Developersとはいえ、ただのintとして返される。 activity_main.xmlで、idにtextview1と付けて、 MainActivity.javaで、2番目の色cをtextview1.set…

TextView.setTextColor

TextView.setTextColorで、TextViewのテキストの色をセットできる。TextView | Android DevelopersMainActivity.javaで、tv.setTextColorでColor.REDをセット。 Color.REDなどの色はint値。 上のテキストが赤くなってる上のテキストが赤くなってるSample/and…

TypedArray.getString

TypedArray.getStringで、指定されたインデックスの値を文字列として取得。TypedArray | Android DevelopersMainActivity.javaで、0番目の整数値に加えて、1番目の文字列も取得。 1番目の"ABC"を取得出来てる1番目の"ABC"を取得出来てる。Sample/android/Typ…

TypedArray.getInt

TypedArray.getIntで、指定されたインデックスの値をint値として取得。TypedArray | Android Developersarrays.xmlは、整数、文字列、色。 MainActivity.javaは、mixedarray.getIntで0番目を取得し、ログ出力。 123を取得出来てる0番目の123を取得出来てる。…

TypedArray

TypedArrayは、型情報付きの配列オブジェクト。 中身どうなってるかもうちょっとみる。TypedArray | Android Developersarrays.xmlを、 <resources> <array name="mixedarray"> <item>123</item> <item>456</item> <item>789</item> </array> </resources> とすると、 123, 456, 789が見える123と456と789が、少し間隔を開けて、見える。

Resources.obtainTypedArray

異なる要素型が混在する配列の場合は、TypedArrayで取得し、1つ1つの要素を適切な型で取得しなければならない。 Resources.obtainTypedArrayを使って、TypedArrayを取得する。Resources | Android Developers Android, arrays.xml で定義した配列を利用する …

Resources.getStringArray

文字列配列もXMLで定義できる。 Resources.getStringArrayを使う。Resources | Android Developersarrays.xmlで、string-arrayタグを使う。 itemの値の文字列にダブルクォートを付けない。 MainActivity.javaで、res.getStringArrayに、R.array.abcdefghiを…

Resources.getIntArray

リソースのXMLは、整数配列も定義できる。 整数配列の取得は、Resources.getIntArrayを使う。Resources | Android DevelopersAndroid XMLを追加し、 arrays.xmlと名付けるarrays.xmlと名付ける。 arrays.xmlで、integer-arrayタグで、名前は"onetwothree"。 …

Resources.getInteger

リソースのXMLに整数を定義して、それを取得する。 Resources.getIntegerを使う。Resources | Android Developersまた、 Android XMLを追加Android XMLを追加。 integer.xmlinteger.xmlとする。 この辺は特に変わらないこの辺は特に変わらない。 integer.xml…

AttributeSet.getAttributeCount

AttributeSet.getAttributeCountで、属性の数を取得する。AttributeSet | Android DevelopersCustomView.javaで、属性の数が取得出来れば、このようにfor文で回せる。 楽に取得と出力が出来る楽に取得と出力が出来る。Sample/android/AttributeSet/getAttrib…

AttributeSet.getAttributeValue

AttributeSet.getAttributeValueで、属性の値を取得する。AttributeSet | Android DevelopersCustomView.javaで、今度は、attrs.getAttributeValueで、各々の値を取得して、ログ出力。 ABCDEは文字列として取得できるが、それ以外はよくわからない値。ABCDE…

AttributeSet.getAttributeName

AttributeSet.getAttributeNameで、属性名を取得する。AttributeSet | Android Developers引数indexで指定したindex番目の属性名を取得。 独自の属性を追加して、それも取得できるようにする。xmlns:appを追加し、"http://schemas.android.com/apk/res-auto"…

AttributeSet

AttributeSetは、Viewなどの属性情報を持つ。AttributeSet | Android DevelopersView(context, attrs)の項で、引数にAttributeSetのattrsが渡された。 これには、CustomViewのXMLで指定した属性情報が格納されている。 activity_main.xmlで、CustomViewには…

Fragment.setArguments

Fragment.setArgumentsで、渡したい引数をセットする。Fragment | Android DevelopersファクトリメソッドnewInstanceを定義し、渡す引数をnewInstanceの引数にして、生成をこのようにまとめられる。newInstanceをこのように呼び出せる。 newInstanceに来てる…

Fragment.getArguments

Fragmentにパラメータを渡すには、Fragment.setArgumentsを使い、そのパラメータを受け取るには、Fragment.getArgumentsを使う。Fragment | Android DevelopersMainActivity.javaで、Bundleを使ってキーと値を登録し、そのBundleをsetArgumentsに渡す。 Frag…

Fragment.onViewStateRestored

API Level 17で、Fragment.onViewStateRestoredが追加された。Fragment | Android DevelopersここでViewの状態を復元する。 作成時に、 17以上に17以上に。こうすると、 ここからここから、 こうなった時こうなった時、 onViewStateRestoredで復元onViewStat…

Fragment.onViewCreated

API Level 13から、Fragment.onViewCreatedが追加された。Fragment | Android DevelopersLayoutInflater.inflateなどで生成し、onCreateViewで戻り値にするViewを返す前に、そこのViewをいじって初期化をすることもできたが、onCreateViewはinflateで生成し…

ViewParent

View.getParentの戻り値は、本来ViewParent。 LinearLayoutなどのViewGroupは、ViewParentインターフェースを実装している。 つまり自身が親となり、子Viewを持つことが出来る。ViewParent | Android Developersactivity_main.xmlで、今回は、2段にした。 Ma…

View.getParent

View.getParentで、親のビューを取得する。View | Android Developersactivity_main.xmlで、LinearLayoutのlayout_main、その下にTextViewのtextview1と配置。MainActivity.javaで、textview1.getParentで取得したviewのIDを、view.getIdで確認し、R.id.layo…

Fragment.onResume

MainActivity側のEditTextは、Fragment.onStart時点で、まだ復元してないようだった。 Fragment.onResumeなら、MainActivity.onStartは通過済みなので、復元していると思う。Fragment | Android DevelopersMainActivity.javaで、とすると、 この状態からこの…

Fragment.onStart

Fragment.onStartは、Fragmentの(表示)開始時に呼ばれる。Fragment | Android Developers ActivityとFragmentのライフサイクルと罠 - QiitaAPI Level 11(Android3.0)の時点では、onActivityCreatedの後ろはこれぐらいしかないので、ここでは復元されている気…

Fragment.getView

Fragment.getViewで、Viewを取得する。Fragment | Android Developers結局のところ、Activityも、Fragmentも、どこでEditTextの内容が復元されるのだろうか。 本来の目的に戻す。activity_main.xmlは中をfragmentからFrameLayoutに戻している。 MainActivity…

Fragment.onActivityCreated

Fragment.onActivityCreatedは、Activityの生成が完了した時に呼ばれる。Fragment | Android DevelopersFragment1.javaで、 package com.bgstation0.android.sample.fragment_; import android.app.Activity; import android.app.Fragment; import android.o…

Fragment.onCreateView

Fragment.onCreateViewは、FragmentのViewの生成時に呼ばれる。Fragment | Android Developersfragment1_main.xmlに、EditTextを追加。 Fragment1.javaで、MainActivityのEditTextに加えて、inflater.inflateで生成されたviewからEditTextを取得し、両方の中…

Fragment.getActivity

Fragment.getActivityで、Fragmentから所属するActivityを取得する。Fragment | Android Developersstrings.xmlで、ButtonもFragmentも1個にする。 activity_main.xmlで、Buttonは1個。 それとEditTextを設置。 Fragment1.javaで、getActivityでmainActivity…

Fragment.onDestroy

Fragment.onDestroyは、Fragmentの破棄時に呼び出される。Fragment | Android DevelopersFragment1.javaで、onDestroyでもログを出しておく。 Fragment2.javaも、同様にonDestroyでログを出す。 MainActivity.javaは、 package com.bgstation0.android.sampl…