Я пытаюсь программно разместить линейный макет вертикально внутри линейного макета, но кажется, что он не работает, кнопки не отображаются, но отображается текстовое представление ...

Вот мой код: (это для диалога ..)

LinearLayout titleLayout = new LinearLayout(m_context);
titleLayout.setOrientation(LinearLayout.VERTICAL);

m_titleView = new TextView(m_context);
m_titleView.setText(title);


LinearLayout horizontalLayout = new LinearLayout(m_context);
titleLayout.setOrientation(LinearLayout.HORIZONTAL);

Button backward = new Button(m_context);
backward.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
backward.setText("Backwards");

Button newDirButton = new Button(m_context);
newDirButton.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
newDirButton.setText("New folder");

horizontalLayout.addView(backward);
horizontalLayout.addView(newDirButton);
titleLayout.addView(m_titleView);
titleLayout.addView(horizontalLayout);

Заранее спасибо!

-1
TiagoM 20 Апр 2013 в 23:38

1 ответ

Лучший ответ

Попробуйте установить LayoutParams на horizontalLayout.

В любом случае, я бы предложил перейти в мир xml, так как этот код не обслуживается.

Изменить:

Ответ нашел автор:

titleLayout.setOrientation(LinearLayout.HORIZONTAL);

Должно быть:

horizontalLayout.setOrientation(LinearLayout.HORIZONTAL);
1
MaciejGórski 21 Апр 2013 в 00:06
Спасибо за ответ, это был неправильный тип в шестой строке, это должно быть horizontalLayout.setOrientation (LinearLayout.HORIZONTAL); не titleLayout.setOrientation (LinearLayout.HORIZONTAL); ржу не могу..
 – 
TiagoM
20 Апр 2013 в 23:49
Это только показывает, насколько поддерживаемым был этот код;) Вы можете переместить свой комментарий к ответу и принять его.
 – 
MaciejGórski
20 Апр 2013 в 23:51
Да вы правы, нет, я приму ваши усилия;)
 – 
TiagoM
21 Апр 2013 в 00:04