Android 无法显示ListView(多个数据列)
我问了一些关于stackoverflow的固定标题和多个数据列的问题,最后我想出了一些我认为有意义的东西,我觉得我离我的目标非常接近。现在的问题是数据没有显示出来。我做了日志记录。我和我发现我确实成功地读取了我的数据库,所以我想我的适配器有问题吗 活动: 公共类HistoryActivity扩展了活动 {Android 无法显示ListView(多个数据列),android,Android,我问了一些关于stackoverflow的固定标题和多个数据列的问题,最后我想出了一些我认为有意义的东西,我觉得我离我的目标非常接近。现在的问题是数据没有显示出来。我做了日志记录。我和我发现我确实成功地读取了我的数据库,所以我想我的适配器有问题吗 活动: 公共类HistoryActivity扩展了活动 { private static final String TAG=“HistoryActivity”; ListView lv; SimpleDapter sd; RecordDAO=newRe
private static final String TAG=“HistoryActivity”;
ListView lv;
SimpleDapter sd;
RecordDAO=newRecordDao(HistoryActivity.this);
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Log.i(标记“onCreate”);
setContentView(R.layout.historyactivityheader);
lv=(ListView)findViewById(R.id.list);
ArrayList记录=新的ArrayList();
Records=(ArrayList)dao.findAll();
ArrayList aList=新的ArrayList();
HashMap图;
对于(int x=Records.size()-1;x>=0;x--)
{
map=新的HashMap();
map.put(“ID”,String.valueOf(Records.get(x.getId()));
...
列表.添加(地图);
}
sd=新的SimpleAdapter(this,aList,R.layout.historyactivityrow,
新字符串[]
{“col1”、“col2”、“col3”,
“col4”},新int[]
{R.id.col1,R.id.col2,R.id.col3,
R.id.col4});
低压设置适配器(sd);
}
}
historyactivityheader.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:orientation="horizontal"
android:paddingBottom="6dip"
android:paddingTop="4dip" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="col1"
android:textColor="#FFFFFF"
android:textSize="16dp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="col2"
android:textColor="#FFFFFF"
android:textSize="16dp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="col3"
android:textColor="#FFFFFF"
android:textSize="16dp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="col4"
android:textColor="#FFFFFF"
android:textSize="16dp" />
</LinearLayout>
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
historyactivityrow.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:paddingBottom="6dip"
android:paddingTop="4dip" >
<TextView
android:id="@+id/col1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/col2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/col3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/col4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#FFFFFF" />
</LinearLayout>
解决方案:
答案是页眉的高度使用了填充父项,所以它覆盖了listview…这是一个愚蠢的错误。。。
因此,请更改以下内容:
header.xml应位于relativelayout中,并将listview放置在headertextview下方,然后还设置listview的宽度以填充父项,最后,更改标头的高度以包裹内容
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:paddingBottom="6dip"
android:paddingTop="4dip" >
<TextView
android:id="@+id/col1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/col2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/col3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/col4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#FFFFFF" />
</LinearLayout>