【发布时间】:2013-07-03 09:12:20
【问题描述】:
所以,我想要的是:定义一个组件,其中包括 TextView-s 和一个 ImageView。这是一个项目,我想将其添加到(例如线性)布局中,这样我就可以显示所有自定义项目,我一个接一个地添加。 关键是,这些项目必须是可编辑的,因为数据库查询结果将定义它们的文本内容和图像。
【问题讨论】:
所以,我想要的是:定义一个组件,其中包括 TextView-s 和一个 ImageView。这是一个项目,我想将其添加到(例如线性)布局中,这样我就可以显示所有自定义项目,我一个接一个地添加。 关键是,这些项目必须是可编辑的,因为数据库查询结果将定义它们的文本内容和图像。
【问题讨论】:
您的自定义组件本身应该是ViewGroup。您可以向其中添加任意数量的TextViews 和ImageViews,并通过它们的ID 访问它们。
MyCustomViewGroup component = (MyCustomViewGroup)linearLayout.findViewById(...);
TextView textView1 = (TextView)component.findViewById(...);
ImageView imageView = (ImageView)component.findViewById(...);
【讨论】:
您可以拨打XML approach for defining your component。例如,您可以将组件定义为 LinearLayout,然后将所需的所有元素(TextViews、ImageViews)添加到该布局中。
至于“可编辑”部分,只需为您的元素提供一个 id 属性
android:id="@+id/my_view";这样您就可以通过findViewById(R.id.my_view) 电话获得它们。
您将结果转换为您期望的任何 View 实现,然后使用查询的解释结果将其更改为文本/内容/图像。
【讨论】: