Объект, созданный из макета XML-файла, является нулевым - PullRequest
0 голосов
/ 29 декабря 2011

У меня есть два класса, которые расширяют класс активности. Каждый класс имеет свой собственный класс макета, main.xml и compose.xml.

В своей основной деятельности я пытаюсь получить доступ к элементу макета, который находится в compose.xml. Итак:

EditText smsBody = (EditText)findViewById(R.id.smsBody);

Но smsBody - это null. Зачем? Как я могу получить к нему доступ?

Ответы [ 3 ]

1 голос
/ 29 декабря 2011

когда основное действие имеет макет main.xml, как вы можете ожидать, что вы можете получить доступ к компоненту compose.xml ?? вы предполагаете поиграть с представлением внутри макета, который вы установили с помощью setContentView ().

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

1 голос
/ 29 декабря 2011

Задано ли отображение содержимого в методе onCreate()?

Как в этом примере:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
1 голос
/ 29 декабря 2011

Итак, ваша основная деятельность имеет макет main.xml. Ваше композиторское действие имеет compose.xml макет. Предполагая, что ваш "smsBody" EditText находится в макете compose.xml, это будет доступно только в вашей деятельности по созданию, поскольку этот виджет не существует в вашем макете main.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...