3
如何訪問使用科特林合成的擴展,如果我有一個佈局像下面查看:科特林合成的延伸和幾個包括相同的佈局
文件: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"
我在工作室,我有機會獲得dayName
但看到這DAYNAME的TextView之一是參考?
正常,如果我只有一個包括的佈局,它工作正常。但現在我有多次包括相同的佈局。
當然我總是可以做:
day1.findViewById(R.id.dayName).text = "xxx"
,但我正在尋找很好的解決方案。 :)
THX它wokrs。 順便說一句:你能解釋爲什麼不應該以這種方式構建佈局?如果我有固定相同的7行?爲什麼我應該使用名稱day(1..7)名稱等來創建一個巨大的xml。任何差異的方式來避免巨大的XML? – LunaVulpo
@LunaVulpo這更像是來自我身邊的「免責聲明」。我認爲在你的情況下,對於固定的一組相同的佈局,它可能是有保證的,但在很多情況下,其他解決方案可能更適合,比如使佈局成爲片段或自定義視圖。我意識到這在技術上仍然將相同ID的視圖放置在相同的結果佈局中,但這樣它們在代碼中完全分離。 – Robin
@ Hikaaru755好的。謝謝 :) – LunaVulpo