Ошибка линейного размещения Android - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь позвонить LinearLayout по его идентификатору. Когда я пытаюсь это сделать, я получаю NoSuchFieldError.

LinearLayout l1 = (LinearLayout)findViewById(R.id.content2);
setContentView(l1);

Ответы [ 2 ]

1 голос
/ 22 марта 2012

То, как вы используете, неверно.

setContentView (R.layout.main) должен быть установлен с любым макетом, например, main.xml для вашего случая.

и теперь основной макет имеет LinearLayout с идентификатором content2.

Также, если вы хотите использовать setContentView напрямую, создайте динамический линейный макет, т.е. не в xml.

Linearlayout l1 = new LinearLayout(this);
//Set Layout params and bla bla... as per your need..
now setContentView(l1);
0 голосов
/ 23 февраля 2013

Вы можете найти этот идентификатор, если и только если вы указали этот идентификатор в файле ресурсов XML, который вы надуваете.Без загрузки файла ресурсов XML вы не можете найти идентификатор.Вы можете загрузить файл ресурсов xml, используя setContentView(R.layout.main); в Activity onCreate ().Код для поиска идентификатора будет выглядеть как LinearLayout l = findViewById(R.id.content);

...