Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 949
#1

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

16.07.2015, 23:51. Просмотров 1222. Ответов 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
Пытаюсь использовать getView().findViewById Но не работает

FindViewByID возвращает Null
День добрый. Я в разработке андроида новичек, и застрял можно сказать в самом...

RelativeLayout findViewById return null
Я что-то не пойму никак.. почему RelativeLayout возвращает не ссылку на...

Какую роль выполняет findViewById в андроиде?
ребята! подскажите пожалуйста, какую роль выполняет findViewById в андроиде? ...

FindViewByID возвращает Null производного класса View
Возвращает null в v, что может быть. если использовать родной SurfaceView все...

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

13
Mikalai
262 / 238 / 95
Регистрация: 11.01.2015
Сообщений: 666
17.07.2015, 00:41 #2
Потому что нужно знать мат. часть. Понимание java + 30 уроков тут и вопросы отпадут
1
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
17.07.2015, 11:45 #3
Лучший ответ Сообщение было отмечено danek130995 как решение

Решение

danek130995, так как не в активити (например, во фрагменте, в адаптерах) Вы сами ответственны за создание view.
Для активити всё создание скрыто от Вас и Вы не имеете ссылки на view, да и не должны её иметь. findViewById сам знает в какой view искать элемент
1
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 736
17.07.2015, 12:26 #4
Лучший ответ Сообщение было отмечено danek130995 как решение

Решение

Может быть потому что когда написано findViewById(R.id.lvMain);
это на самом деле this.findViewById(R.id.lvMain);
или я не прав?
1
lvlkoo
.NET C#,ASP.NET MVC
413 / 371 / 174
Регистрация: 16.10.2010
Сообщений: 1,539
Завершенные тесты: 2
17.07.2015, 12:30 #5
Цитата Сообщение от Valakin Посмотреть сообщение
Может быть потому что когда написано findViewById(R.id.lvMain);
это на самом деле this.findViewById(R.id.lvMain);
или я не прав?
Именно так
1
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 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
Сообщений: 949
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
Сообщений: 949
17.07.2015, 17:27  [ТС] #9
androbro, что тут не вяжется? Я написал две игры и выложил их в плеймаркет, параллельно изучаю уроки другие.
0
androbro
340 / 301 / 67
Регистрация: 17.10.2014
Сообщений: 887
17.07.2015, 20:17 #10
Цитата Сообщение от danek130995 Посмотреть сообщение
Я написал две игры
ссыль в студию
0
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 949
17.07.2015, 21:01  [ТС] #11
androbro, вот первое-крестики-нолики, которое получило на данный момент 7908 загрузок, и второе -RainingBirds-которое почти их не получило(видимо, ввиду того, что людям больше знакомы крестики-нолики).
В начале я был AndashevDev, теперь сменил ник на EagleDev
0
androbro
340 / 301 / 67
Регистрация: 17.10.2014
Сообщений: 887
17.07.2015, 22:01 #12
danek130995, ну все, убедил unrealGameDev
0
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 949
17.07.2015, 22:11  [ТС] #13
androbro, ну это только первый опыт
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 736
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....


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

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

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