Pergunta

Estou escrevendo um aplicativo de gerenciador de tarefas que baixe uma lista de tarefas e subtaretas de um servidor e cria uma nova caixa de seleção para cada item e o adiciona a um layout linear (chamado LL abaixo). O problema que estou tendo é que não posso definir a "margem de layout deixada" usando o Java como posso com XML (isso é para as subtarefas para recuperá -las um pouco na tela). Posso definir a maioria das outras propriedades XML, mas o CB.SetMargins () não funciona (diz indefinido para a caixa de seleção do tipo). Definir o preenchimento, é claro, não atinge o resultado desejado.

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);
    }

Alguma idéia ou como eu trabalharia com isso?

Foi útil?

Solução

Eu acho que você deve adicionar a caixa de seleção ao linearlayout usando os parampos de layoutams corretos:

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

Espero que ajude!

Outras dicas

Oi tente isso ...

    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);
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top