2012-07-25 81 views
0

我在stackoverflow上詢問了一些關於固定標題和多個數據列的問題,最後我提出了一些我認爲有意義的問題,我覺得我非常接近我的目標。現在問題是數據沒有得到顯示。我做了log.i,我發現我成功地從我的數據庫中讀取,所以我想我的適配器有問題?無法顯示ListView(多個數據列)

活性:

公共類HistoryActivity延伸活動 {

private static final String TAG = "HistoryActivity"; 
ListView lv; 
SimpleAdapter sd; 

RecordDAO dao = new RecordDAO(HistoryActivity.this); 

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    Log.i(TAG, "onCreate"); 

    setContentView(R.layout.historyactivityheader); 
    lv = (ListView) findViewById(R.id.list); 
    ArrayList<Record> Records = new ArrayList<Record>(); 
    Records = (ArrayList<Record>) dao.findAll(); 


    ArrayList<HashMap<String, String>> aList = new ArrayList<HashMap<String, String>>(); 
    HashMap<String, String> map; 

    for (int x = Records.size()-1; x >=0; x--) 
    { 
     map = new HashMap<String, String>(); 
     map.put("ID", String.valueOf(Records.get(x).getId())); 
     ... 

     aList.add(map); 
    } 

    sd = new SimpleAdapter(this, aList, R.layout.historyactivityrow, 
      new String[] 
      { "col1", "col2", "col3", 
        "col4" }, new int[]    
      { R.id.col1, R.id.col2, R.id.col3, 
        R.id.col4}); 


    lv.setAdapter(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> 

回答

0

解決方案:

答案是,頭部的高度使用FILL_PARENT所以它覆蓋的列表視圖...這樣一個愚蠢的錯誤... 因此,改變如下: 的header.xml應該在relativelayout,並將listview放置在headertextview下方,然後將listview的寬度設置爲fill_parent,最後將header的高度更改爲wrap_content