将复选框动态添加到Fragment

时间:2014-01-01 12:34:04

标签: android android-fragments android-checkbox

我对Android编程很陌生并坚持以下问题。

我使用(map-)片段开发了基于标签的应用程序。

现在我想动态地将Checkboxes(源:数据库)添加到其中一个选项卡,但不知道如何以及使用哪个对象!

我对片段的基础编码如下:

public class SettingsFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_set, container, false);
    return rootView;
}
}

目的是插入类似的东西(例如来自网络):

    ScrollView sv = new ScrollView(this);
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    sv.addView(ll);

    for(int i = 0; i < 20; i++) {
    CheckBox cb = new CheckBox(this);
    cb.setText("check");
    ll.addView(cb);
    }
    this.setContentView(sv);

另外一个问题:Fragment-concept在我看来相当复杂 - 在包含地图的标签布局的上下文中使用是否有用,还是有另一种(更简单的)方法?

提前致谢!尔根

2 个答案:

答案 0 :(得分:0)

您可以使用:

ScrollView sv = new ScrollView(getActivity());
sv .setLayoutParams(new LayoutParams(
                        LayoutParams.MATCH_PARENT,
                        LayoutParams.MATCH_PARENT));
LinearLayout ll = new LinearLayout(getActivity());
ll.setLayoutParams(new LayoutParams(
                        LayoutParams.MATCH_PARENT,
                        LayoutParams.WRAP_CONTENT));
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);

for(int i = 0; i < 20; i++) {
CheckBox cb = new CheckBox(getActivity());
ll.setLayoutParams(new LayoutParams(
                        LayoutParams.WRAP_CONTENT,
                        LayoutParams.WRAP_CONTENT));
cb.setText("check");
ll.addView(cb);
}
setContentView(sv);

答案 1 :(得分:-1)

   b.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        for(int i = 0; i < 20; i++) {
            CheckBox cb = new CheckBox(getApplicationContext());
            cb.setText("I'm dynamic!");
            ll.addView(cb);
        }
    }
});