Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
#1

FindViewById - Программирование Android

16.07.2015, 23:51. Просмотров 1006. Ответов 13
Метки нет (Все метки)

Назрел вопрос, почему в MainActivity мы пишем, например, ListView lvMain = (ListView) findViewById(R.id.lvMain);
А в другом классе можно писать, например, только так: (TextView) view.findViewById(R.id.tvDescr)
Почему в MainActivity мы не пишем view.findViewById? А пишем сразу findViewById? Помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2015, 23:51     FindViewById
Посмотрите здесь:

findViewById и Fragment - Программирование Android
Пытаюсь использовать getView().findViewById Но не работает

FindViewByID возвращает Null - Программирование Android
День добрый. Я в разработке андроида новичек, и застрял можно сказать в самом начале. Имеется проект типа hello world Один...

RelativeLayout findViewById return null - Программирование Android
Я что-то не пойму никак.. почему RelativeLayout возвращает не ссылку на TextView, а null? @Override public Dialog...

Какую роль выполняет findViewById в андроиде? - Программирование Android
ребята! подскажите пожалуйста, какую роль выполняет findViewById в андроиде? пример VideoView videoView =...

FindViewByID возвращает Null производного класса View - Программирование Android
Возвращает null в v, что может быть. если использовать родной SurfaceView все ОК. Кнопку находит. В проекте одно activity public...

Новая реализация findViewById и ошибка "Unfortunately, MyApp has been stopped" - Программирование Android
Здравствуйте, хотел немного сократить код программы, создав метод, который принимает на вход View и Integer //Сам метод public ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 653
17.07.2015, 00:41     FindViewById #2
Потому что нужно знать мат. часть. Понимание java + 30 уроков тут и вопросы отпадут
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
17.07.2015, 11:45     FindViewById #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
danek130995, так как не в активити (например, во фрагменте, в адаптерах) Вы сами ответственны за создание view.
Для активити всё создание скрыто от Вас и Вы не имеете ссылки на view, да и не должны её иметь. findViewById сам знает в какой view искать элемент
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
17.07.2015, 12:26     FindViewById #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Может быть потому что когда написано findViewById(R.id.lvMain);
это на самом деле this.findViewById(R.id.lvMain);
или я не прав?
lvlkoo
.NET C#,ASP.NET MVC
334 / 290 / 101
Регистрация: 16.10.2010
Сообщений: 1,292
Завершенные тесты: 2
17.07.2015, 12:30     FindViewById #5
Цитата Сообщение от Valakin Посмотреть сообщение
Может быть потому что когда написано findViewById(R.id.lvMain);
это на самом деле this.findViewById(R.id.lvMain);
или я не прав?
Именно так
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
17.07.2015, 12:42     FindViewById #6
Там разная иерархия вызова.
У Activity это findViewById -> Activity#getWindow().findViewById(id); -> Window#getDecorView().findViewById(id); -> View#findViewById(int id).

А у для прямого вызова, естественно, только последний вызывается метод
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
17.07.2015, 16:27  [ТС]     FindViewById #7
YuraAAA, Valakin, lvlkoo, спасибо, все понятно. Mikalai, Я знаю основы java и уже написал не одно приложение, просто некоторые вещи забываются..

Добавлено через 3 минуты
Mikalai, кстати, именно по этим урокам я и занимаюсь, я уже на 54 уроке
androbro
17.07.2015, 16:55
  #8

Не по теме:

Цитата Сообщение от danek130995 Посмотреть сообщение
уже написал не одно приложение, просто некоторые вещи забываются..
Цитата Сообщение от danek130995 Посмотреть сообщение
я уже на 54 уроке
ну вот как то не вяжутся две этих фразы

danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
17.07.2015, 17:27  [ТС]     FindViewById #9
androbro, что тут не вяжется? Я написал две игры и выложил их в плеймаркет, параллельно изучаю уроки другие.
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 839
17.07.2015, 20:17     FindViewById #10
Цитата Сообщение от danek130995 Посмотреть сообщение
Я написал две игры
ссыль в студию
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
17.07.2015, 21:01  [ТС]     FindViewById #11
androbro, вот первое-крестики-нолики, которое получило на данный момент 7908 загрузок, и второе -RainingBirds-которое почти их не получило(видимо, ввиду того, что людям больше знакомы крестики-нолики).
В начале я был AndashevDev, теперь сменил ник на EagleDev
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 839
17.07.2015, 22:01     FindViewById #12
danek130995, ну все, убедил unrealGameDev
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
17.07.2015, 22:11  [ТС]     FindViewById #13
androbro, ну это только первый опыт
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2015, 12:21     FindViewById
Еще ссылки по теме:

Описание сигнатуры method:(Int)View функции findViewById - Java
Уважаемый специалисты, здравствуйте! Сдаю виртуальный зачет по языку Java. Преподаватель попросил написать сигнатуру функции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
18.07.2015, 12:21     FindViewById #14
danek130995, молодца, поделись опытом, как ты ее разрекламировал до восьми тысяч загрузок
Yandex
Объявления
18.07.2015, 12:21     FindViewById
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru