Как добавить Layout в детстве - PullRequest
0 голосов
/ 13 сентября 2011

В моем приложении у меня есть 2 макета.Один из них - это корневой макет, который изменяется динамически, а второй - просто форма, которая открывается много раз.Форма должна быть дочерней по отношению к корневому макету, но я не могу выполнить это.

Я предполагаю, что мне следует просто использовать:

main.AddView (formLayout)

, но я не могу понять, как получить этот объект formLayout.

Буду благодарен за возможные ответы.

Ответы [ 4 ]

2 голосов
/ 13 сентября 2011

Звучит так, как будто вам нужен LayoutInflater объект Ссылка на Android .

Это позволяет вам создать объект из макета xml в вашем проекте.

1 голос
/ 14 сентября 2011

По совету cjk я написал фрагмент кода, который фактически отвечает на мой вопрос:

setContentView(R.layout.main);
main = ((ViewGroup)findViewById(android.R.id.content));
LayoutInflater inflater = this.getLayoutInflater();
ViewGroup form=  (ViewGroup) inflater.inflate(R.layout.formLayout, null);
main.addView(form);

Спасибо всем

0 голосов
/ 13 сентября 2011

Получив, я полагаю, вы имеете в виду, что хотите получить поле в новом открытом макете, вы можете сделать это, сделав его новым Намерением и используя startActivityForResult вместо startActivity.

0 голосов
/ 13 сентября 2011

Не уверен, правильно ли я понимаю вопрос, но что-то подобное может сработать:

View myView;
myView = (View) this.findViewById(R.id.formLayout);
main.addView(myView);
...