2014-01-24 203 views
0

我正在嘗試動態創建佈局。 我正在從數據庫獲取數據並使用它來定義佈局。 數據庫中的每一行都應顯示在佈局中。動態創建佈局

我不想使用ListView,因爲我的下一步是點擊佈局並顯示一些細節。

這裏是我的代碼來創建動態佈局:

LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View v = inflater.inflate(R.layout.layoutausgabe,null); 

     // insert into main view 
     View insertPoint = findViewById(R.id.scrollView); 
     ((ViewGroup) insertPoint).addView(v, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); 

這裏的佈局,這應該插入:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Abfahrt - Ankunft |" 
     android:id="@+id/textView" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text=" Dauer |" 
     android:id="@+id/textView2" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text=" Umstieg |" 
     android:id="@+id/textView2" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text=" Route" 
     android:id="@+id/textView2" /> 
</LinearLayout> 

這裏是地方(滾動型)在佈局應該是插入:

<ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/scrollView" > 


    </ScrollView> 

感謝您的幫助!!!!

+0

你需要把所有的佈局像線性或相對的,因爲,滾動視圖不接受一個以上的孩子,所以使得線性佈局,並添加你的孩子線性然後添加直線滾動視圖 –

+0

精彩!現在,問題是什麼? – codeMagic

+0

你應該重新考慮你不選擇使用ListView。列表視圖讓你點擊一個項目並採取行動。 –

回答

0

試試這個:

View insertPoint = findViewById(R.id.scrollView); 
View v = inflater.inflate(R.layout.layoutausgabe,insertPoint, false); 

((ViewGroup) insertPoint).addView(v, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); 
+0

這沒有工作,因爲inflater.inflate(...) – schocka94

+0

而不是View v = inflater.inflate (R.layout.layoutausgabe,insertPoint,false);嘗試你所擁有的:View v = inflater.inflate(R.layout.layoutausgabe,null); –

0

了滾動只需要一個孩子,所以你不能添加許多孩子的吧,

解決這個你應該把一個LinearLayout中與方向設置爲滾動型內verticatl ,然後將您的視圖添加到LinearLayout。

希望幫助