Fragment.onInflate

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

Fragment  |  Android Developers

strings.xmlで、

fragment1_textview_textで、Fragment1と定義。
attrs.xmlで、

Fragment1の独自属性文字列custom_data。
fragment1_main.xmlで、

fragment1_textviewで、fragment1_textview_textをセット。
activity_main.xmlで、

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <fragment
        xmlns:app="http://schemas.android.com/apk/res/com.bgstation0.android.sample.fragment_"
	    android:id="@+id/fragment1"
	    android:name="com.bgstation0.android.sample.fragment_.Fragment1"
		android:layout_width="match_parent"
		android:layout_height="match_parent"
    	app:custom_data="ABCDE" />
    
</LinearLayout>

custom_dataは"ABCDE"。
Fragment1.javaは、

res.obtainAttributesでaを取得し、a.getStringでcustom_dataをmCustomDataに格納。

mCustomDataをtextview1.setTextでセット。

小さいけど&quot;ABCDE&quot;と出る
小さいけど"ABCDE"と出る

小さいけど"ABCDE"と出る。

"VWXYZ"にすると、

&quot;VWXYZ&quot;に変わる
"VWXYZ"に変わる

"VWXYZ"に変わる。

Sample/android/Fragment/onInflate/src/Fragment at master · bg1bgst333/Sample · GitHub