レイアウト XML ファイルで include を使用する場合の ID の指定方法 質問する

レイアウト XML ファイルで include を使用する場合の ID の指定方法 質問する

レイアウト XML ファイルには、他のレイアウト XML ファイル (それぞれ異なる Android ID を持つ) が含まれています。

<include layout="@layout/view_contact_name" android:id="+id/test1"/>
<include layout="@layout/view_contact_name" android:id="+id/test2"/>

しかし、エミュレーターで実行し、階層ビューアーを起動すると、各レイアウトにはまだ「NO_ID」が表示され、コードでは、両方findViewById(R.id.test1)ともfindViewById(R.id.test2)null を返します。

誰か私の問題を解決してもらえませんか?

ベストアンサー1

IDを<include>

<include layout="@layout/test" android:id="@+id/test1" />

次に2つを使用してfindViewByIdレイアウト内のフィールドにアクセスします

View test1View = findViewById(R.id.test1);
TextView test1TextView = (TextView) test1View.findViewById(R.id.text);

このアプローチを使用すると、任意のインクルード内の任意のフィールドにアクセスできます。

おすすめ記事