2012-05-15 43 views
1

您好我想添加一個相對視圖到一個合併適配器,但它目前滾動到列表separetly所以沒有人知道我可以如何添加相對佈局與圖像視圖和一個文本視圖到一個合併適配器?Android將相對視圖添加到合併適配器

我的目標是有它看起來像這樣

header(relativelyout red bar and title); 
List 
header(relativelyout red bar and title); 
List 
header(relativelyout red bar and title); 
List 

,並擁有這一切滾動,彷彿這一切都是一個列表

繼承人我嘗試到目前爲止

arrayAdapter = new ArrayAdapter<String>(this, R.layout.single_item, newsList); 
    arrayAdapter2 = new ArrayAdapter<String>(this, R.layout.single_item, newsList2); 
    arrayAdapter3 = new ArrayAdapter<String>(this, R.layout.single_item, newsList3); 


     ListView list = getListView(); 
      list.setTextFilterEnabled(true); 

      LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      View header = inflater.inflate(R.layout.redcell, list, false); 


    setListAdapter (arrayAdapter); 


     adapter = new MergeAdapter(); 
     adapter.addView(header); 
     adapter.addAdapter(arrayAdapter); 
     adapter.addView(header); 
     adapter.addAdapter(arrayAdapter2); 
     adapter.addView(header); 
     adapter.addAdapter(arrayAdapter3); 
     setListAdapter(adapter); 

    } 

redcell .xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:id="@+id/redcelllayout" > 



    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="match_parent" 
     android:layout_height="30dp" 
     android:src="@drawable/titlerect" /> 

    <TextView 
     android:id="@+id/redheadertext" 
     android:layout_width="match_parent" 
     android:layout_height="30dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:gravity="left" 
     android:paddingLeft="15dp" 
     android:paddingTop="3dp" 
     android:textColor="@color/white" 
     android:textSize="15dp" 
     android:textStyle="bold"/> 




</RelativeLayout> 

回答

2

而是在節目製作人,創建一個XML文件該視圖,充氣它,然後將其添加到適配器。

像這樣:

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

View header1 = inflater.inflate(R.layout.redbar_title); 
View header2 = inflater.inflate(R.layout.redbar_title); 
View header3 = inflater.inflate(R.layout.redbar_title); 

adapter = new MergeAdapter(); 
adapter.addView(header1); 
adapter.addAdapter(arrayAdapter); 
adapter.addView(header2); 
adapter.addAdapter(arrayAdapter2); 
adapter.addView(header3); 
adapter.addAdapter(arrayAdapter3); 
setListAdapter(adapter); 
+0

這是有道理的,但是我在eclippse中得到一個錯誤getLayoutInflator它讓我爲它創建一個局部變量 –

+0

哦,你需要聲明一個LayoutInflater的實例。編輯我的答案。看一看。 – Barak

+0

嗨,我已經這樣做了,它仍然滾動標題分離到列表,所以標題欄消失和重新出現捕捉頂端等我修改了上面的代碼hopefuly它有點更清楚,因爲我不知道是什麼原因導致它。也只有一個標題顯示 –

0

將每個列表layout_height設置爲wrap_content,並將所有內容都包裹在ScrollView之內。

,也許會更容易,如果你可以讓適配器本身的頁眉部分,作爲分隔符,並使用一個單一的列表,而不是3

+0

它不會讓我做,因爲它不喜歡裏面scrollviews名單,因爲名單已經滾動 –

+0

你的「的意思它不會讓我這樣做「?如果將高度設置爲'wrap_content',那麼列表將不會滾動,因爲它將足夠大以顯示其所有項目。 –

相關問題