幾つかのメモ
アダプター
アイテムからアイテム用のビューへの変換、動的に行われる。getView
convertViewはリサイクルされてきたビューのこと。
データバインディング
DataBindingUtil.inflateでbindingを取得して、そいつにデータをセット、
データはレイアウトのほうで受け取れるようにしておく。
gradleで
dataBinding {
enabled = true
}
レイアウトは
<layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="hoge" type="com.example.Hoge"/> </data> <LinearLayout android:id="@+id/activity_main" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{hoge.text1}"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{hoge.text2}"/> </LinearLayout> </layout>
みたいにする。
レイアウトを使う。
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
GSon
JSONからモデルへ一括変換、モデルはアノテーションで何を受け取るか指定する。
Serializable
@SerializedName("hoge") public String hoge;
ビューのタグ
クラスを一時的にもっておける
レイアウトのinclude
レイアウトを入れ子に。しかし共通化か冗長性か。
ハンドラーにランナブルをなげる。
Handler handler = new Handler(getMainLooper()); handler.post(new Runnable() {
AsyncTaskは簡単バージョン
SimpleDateFormat
日時のフォーマット
CoordinatorLayout
iOSのAutoLayoutに近い