以下のようなレイアウトがある場合、kotlin 合成拡張機能を使用してビューにアクセスする方法:
ファイル:two_days_view.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include
android:id="@+id/day1"
layout="@layout/day_row"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<include
android:id="@+id/day2"
layout="@layout/day_row"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
ファイル: day_row.xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/dayName"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
dayName へのアクセス方法 私はこのようなものを探しました:
day1.dayName.text = "xxx"
day2.dayName.text = "sss"
アクセスできる Studio が表示されますdayName
が、dayName TextView の参照先はどれですか?
レイアウトが 1 つしか含まれていない場合は正常に動作します。しかし、今では同じレイアウトを複数回含めています。
もちろん、いつでもできます:
day1.findViewById(R.id.dayName).text = "xxx"
しかし、私は素晴らしい解決策を探しています。:)