Почему приложение прерывает onCreate () в строке setVisibility (View.GONE)? - PullRequest
0 голосов
/ 03 июля 2011

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

if (something) {
            //do something
        } else {
            myTextView.setVisibility(View.GONE);
}

Я использую этот код в onCreate.

Однако приложение разрывается на строке, где находится View.GONE.

Почему это происходит?Разве не разрешено скрывать элементы в onCreate?Если это правда, где я должен использовать этот код?

Чтобы уточнить, я хочу скрыть их до загрузки Activity.Тот же код в событии нажатия кнопки не нарушает приложение.

Ответы [ 2 ]

1 голос
/ 03 июля 2011

Вы можете сделать ваше представление visibility="gone" в вашем XML .... и проверить определенное состояние ..

if(cond)
{
myTextViewmyTextView.setVisibility(View.Visible);
}  

Также проверьте id в xml и findViewById (), оба должны быть одинаковыми .... ЕСЛИ в вашем коде не указан идентификатор myTextView, он показывает: Исключение нулевого указателя

1 голос
/ 03 июля 2011

Ваш TextView myTextView может быть нулевым, вы должны ссылаться на него, прежде чем использовать его.Обычно вы делаете это через

myTextView = (TextView) findViewById(R.id.mytextviewid)

Как сказал Лукас Кнут, проверьте и опубликуйте свой Stracktrace.Там вы должны увидеть исключение NullPointerException.

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