0

您好,我是 android 新手,我正在开发一个应用程序,其中数据显示在列表视图中。Listview 包含一个文本视图和微调器。但是对于特定条件,例如,如果有一个 Qualification 字段有一个或多个用户想要选择的选项。所以在那个特定的条件下,我必须给出多个复选框。数据通过网络服务传递。我将该数据存储在 POJO 中。我已经使用充气机为 textview 和 spinner 开发了。但我正面临该复选框控件的问题。当特定情况发生时,我如何动态放置复选框。 问题

编辑我为此创建了两个单独的 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。

4

2 回答 2

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);
于 2012-06-28T17:37:27.220 回答
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>

好的,然后在你的代码中使用你的条件来膨胀这个 xml 而不是你的默认 xml。

您可以通过执行 view.findViewById(R.id.button1) 从单选按钮中获取文本并设置文本。

于 2012-06-28T17:13:15.930 回答