2012-06-28 44 views
0

你好,我是新的Android和我正在開發一個應用程序中的數據顯示在列表視圖。 ListView包含一個textview和spinner。但是,對於具體情況,例如,如果有一個具有一個或多個用戶想要選擇的選擇的Qualification字段。所以在這個特定的條件下,我必須給出多個複選框。數據通過web服務傳遞。我將這些數據存儲在POJO中。而且我已經開發了使用inflater的textview和spinner。但我面臨的問題是該複選框控件。當發生特殊情況時,我如何動態複選框。 Problem動態列表與Android中的動態值

編輯我爲此創建了兩個單獨的XML文件。我使用該複選框XML文件的以下代碼。

public View getView(final int position, View convertView, ViewGroup parent) { 
    for (int k = 0; k < values.length; k++) { 
     convertView = inflater.inflate(R.layout.filter_brands, null); 
    } 
} 

但是XML文件只能調用一個。而值包含7.

回答

0

我建議你按照邁克回答評論中發佈的想法。

但是,如果你真的想要以編程方式創建一些東西,可以這樣完成。

CheckBox check1 = new CheckBox(YourClassName.this); 
CheckBox check2 = new CheckBox(YourClassName.this); 

... 
LinearLayout ll = new LinearLayout(this); 
ll.setOrientation(1); 

     ll.addView(check1,0); 
     ll.addView(check2,1); 
0

我假設您已經使用某種自定義適配器,並在該適配器的getView()中擴大視圖。現在,您只需使用複選框創建另一個xml文件即可。根據您的情況,根據需要膨脹適當的xml並初始化複選框的文本。

比如讓說你有一個這樣的XML可以說,它被稱爲radio_buttons.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

    <RadioGroup 
     android:id="@+id/radioGroup1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     > 

     <RadioButton 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:checked="true" 
      android:text="RadioButton" /> 

     <RadioButton 
      android:id="@+id/button2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="RadioButton" /> 

    </RadioGroup> 

</LinearLayout> 

OK,然後在你的代碼中使用您的病情誇大這個XML,而不是默認的XML。

通過執行view.findViewById(R.id.button1)並設置文本,可以從單選按鈕中獲取文本。

+0

或者只是有一個列表項目佈局已經包含複選框,但默認情況下是隱藏的。然後在需要時簡單地「展示」它們。 – Squonk

+0

您能否告訴我如何在發生間隔條件時創建它?並在哪裏我把代碼?我使用getview方法創建動態列表視圖。 –

+0

也有可能,但我認爲單獨的xmls可能會更清潔一些,特別是在與平面設計師合作時。 – MikeIsrael