我在写一个任务管理器应用程序,从服务器下载任务和子任务的列表,并为每个项目一个新的复选框,并把它添加到一个线性布局(被称为LL下文)。我遇到的问题是,我不能设置“布局保证金左”用java像我可以用XML(这是为子任务给他们缩进屏幕上的位)。我可以设置其他大多数XML属性,但不是cb.setMargins()不工作(称未定义类型复选框)。设置路线的填充不能达到所期望的结果。

for(int i=0;i<tasks.size();i++) {
CheckBox cb = new CheckBox(this);
cb.setText(tasks.get(i).subtask_desc);
cb.setButtonDrawable(R.drawable.checkbox_xml);
ll.addView(cb);
    }

任何意见或我如何通过这方面的工作?

有帮助吗?

解决方案

我想你应该使用正确的LayoutParams的复选框添加到的LinearLayout:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.leftMargin = 123;
li.addView(cb, params);

希望帮助!

其他提示

喜试试这个...

    private LinearLayyout ll = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    params.leftMargin = 123;;
    CheckBox cb;
    for(int i = 0; i < 10; i++) {
        cb = new CheckBox(this);
        cb.setText(categoryListArray[i]);
        ll.addView(cb, ll);
    }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top