С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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 ...

13
Mikalai
261 / 237 / 95
Регистрация: 11.01.2015
Сообщений: 663
17.07.2015, 00:41 #2
Потому что нужно знать мат. часть. Понимание java + 30 уроков тут и вопросы отпадут
1
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
17.07.2015, 11:45 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
danek130995, так как не в активити (например, во фрагменте, в адаптерах) Вы сами ответственны за создание view.
Для активити всё создание скрыто от Вас и Вы не имеете ссылки на view, да и не должны её иметь. findViewById сам знает в какой view искать элемент
1
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
17.07.2015, 12:26 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Может быть потому что когда написано findViewById(R.id.lvMain);
это на самом деле this.findViewById(R.id.lvMain);
или я не прав?
1
lvlkoo
.NET C#,ASP.NET MVC
384 / 340 / 117
Регистрация: 16.10.2010
Сообщений: 1,445
Завершенные тесты: 2
17.07.2015, 12:30 #5
Цитата Сообщение от Valakin Посмотреть сообщение
Может быть потому что когда написано findViewById(R.id.lvMain);
это на самом деле this.findViewById(R.id.lvMain);
или я не прав?
Именно так
1
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
17.07.2015, 12:42 #6
Там разная иерархия вызова.
У Activity это findViewById -> Activity#getWindow().findViewById(id); -> Window#getDecorView().findViewById(id); -> View#findViewById(int id).

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

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

Не по теме:

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

0
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 884
17.07.2015, 17:27  [ТС] #9
androbro, что тут не вяжется? Я написал две игры и выложил их в плеймаркет, параллельно изучаю уроки другие.
0
androbro
332 / 293 / 63
Регистрация: 17.10.2014
Сообщений: 866
17.07.2015, 20:17 #10
Цитата Сообщение от danek130995 Посмотреть сообщение
Я написал две игры
ссыль в студию
0
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 884
17.07.2015, 21:01  [ТС] #11
androbro, вот первое-крестики-нолики, которое получило на данный момент 7908 загрузок, и второе -RainingBirds-которое почти их не получило(видимо, ввиду того, что людям больше знакомы крестики-нолики).
В начале я был AndashevDev, теперь сменил ник на EagleDev
0
androbro
332 / 293 / 63
Регистрация: 17.10.2014
Сообщений: 866
17.07.2015, 22:01 #12
danek130995, ну все, убедил unrealGameDev
0
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 884
17.07.2015, 22:11  [ТС] #13
androbro, ну это только первый опыт
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
18.07.2015, 12:21 #14
danek130995, молодца, поделись опытом, как ты ее разрекламировал до восьми тысяч загрузок
0
18.07.2015, 12:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2015, 12:21
Привет! Вот еще темы с ответами:

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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