如何在另一个 ViewGroup 中复制一个 ViewGroup n 次但具有不同的 Views 值?
How to replicate a ViewGroup n times in another ViewGroup but with different values for Views?
我正在开发一个 Android 应用程序,我必须在其中创建一个包含多个 TextView
和 ImageView
的卡片。但是这些视图在带有不同图像和文本的卡片中被多次复制(附图更好地总结了我的预期结果)。我想以编程方式为这些视图分配不同的图像和文本值。
一种解决方案是使用任何布局并用这些视图填充它,但它有太多的代码重复。另一种方法是为 TextView
、ImageView
、TextView
组合创建一个垂直 LinearLayout
,并在我的父 Card 中使用 <include>
。但是我如何使用此方法按 ID 访问子视图,以便稍后以编程方式操作它们。以最少的代码重复设计这种布局的标准方法是什么?我希望有更好的出路。这是我的 LinearLayout
.
的代码
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/margin_parent">
<TextView
android:id="@+id/textview_whatever_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"/>
<ImageView
android:id="@+id/imageview_whatever"
android:layout_width="@dimen/icon_height"
android:layout_height="@dimen/icon_height"
android:layout_marginBottom="4dp"/>
<TextView
android:id="@+id/textview_whatever_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
这是我希望创建的结果。
我认为最好的方法是使用Include方式,给Includes一个ID
<include
android:id="@+id/whatever1"
您可以通过
参考项目
whatever1.textview_whatever_1
等等
我正在开发一个 Android 应用程序,我必须在其中创建一个包含多个 TextView
和 ImageView
的卡片。但是这些视图在带有不同图像和文本的卡片中被多次复制(附图更好地总结了我的预期结果)。我想以编程方式为这些视图分配不同的图像和文本值。
一种解决方案是使用任何布局并用这些视图填充它,但它有太多的代码重复。另一种方法是为 TextView
、ImageView
、TextView
组合创建一个垂直 LinearLayout
,并在我的父 Card 中使用 <include>
。但是我如何使用此方法按 ID 访问子视图,以便稍后以编程方式操作它们。以最少的代码重复设计这种布局的标准方法是什么?我希望有更好的出路。这是我的 LinearLayout
.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/margin_parent">
<TextView
android:id="@+id/textview_whatever_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"/>
<ImageView
android:id="@+id/imageview_whatever"
android:layout_width="@dimen/icon_height"
android:layout_height="@dimen/icon_height"
android:layout_marginBottom="4dp"/>
<TextView
android:id="@+id/textview_whatever_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
这是我希望创建的结果。
我认为最好的方法是使用Include方式,给Includes一个ID
<include
android:id="@+id/whatever1"
您可以通过
参考项目whatever1.textview_whatever_1
等等