我有一个(复杂的)RelativeLayout,带有一些TextViews,ImageViews和一个Button。创建此布局的频率取决于数据库中的数据。我从列表中获取这些数据并希望动态显示,我该怎么办?
动态添加的xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/zusatz_content" >
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:text="Lorem Ipsum 1" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text2"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="@string/button_desc" />
<ImageView
android:id="@+id/image"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_below="@+id/text1"
android:layout_centerHorizontal="true"
android:contentDescription="@string/ima_zusatz_desc"
android:src="@drawable/nix" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/text1"
android:layout_below="@+id/image"
android:text="Lorem Ipsum 2" />
注意:文本和图像应该由数据库中的内容动态更改。
谢谢,tomtom
答案 0 :(得分:0)
除了XML之外,您还需要一个适配器和某种ListView。在您的适配器中,您必须实现
public View getView(int position, View convertView, ViewGroup parent)
在此方法中,返回新视图(可能使用LayoutInflator和xml创建)并更新每个按钮/文本视图上显示的数据。
确保研究convertView的工作原理。如果你的列表很长,那么正确使用convertView的性能提升是巨大的。如果你认为这是正确的,那么Android的listview和baseadpater将为你付出艰苦的努力。