Intereting Posts
Как запускать последние маркеры команды Android Systrace для jank и фреймов? Как можно вызвать getContentResolver () в Android? Как обновить-обновить фрагмент в ViewPager по основной активности программно Как получить _count в моем контент-провайдере? Выражение привязки данных не компилируется Загрузить и установить apk из ссылки Переработка просмотров в адаптере пользовательского массива: как именно он обрабатывается? Android, как я могу получить список всех файлов в папке? После обновления сервисов Google Play до 8.4.0 push-уведомлений, отображаемых сами по себе У устройства нет пакета com.google.android.gsf в телефоне Google Nexus Внутреннее хранилище виртуального устройства Android 4.4 не изменяет размер Android Lollipop: Где найти код приложения «API Demos», предварительно установленный в эмуляторе Android Lollipop Nexus 5 Банку этого файла класса принадлежит контейнер «Android Dependencies», который не позволяет изменять исходные вложения источника в своих записях Micromax a111 не определяется adb Обнаружение, если у устройства Android есть подключение к Интернету

OnFinishInflate () никогда не вызывается

Кто / Что вызывает onFinishInflate ()? Независимо от того, как я раздуваю файлы макета (в коде), этот метод никогда не запускается. Может ли кто-нибудь дать мне пример или сказать мне, когда onFinishInflate () действительно вызван?

Solutions Collecting From Web of "OnFinishInflate () никогда не вызывается"

View.onFinishInflate() вызывается после того, как представление (и его дочерние View.onFinishInflate() завышено от XML. В частности, во время вызова LayoutInflater.inflate(...) , onFinishInflate() будет вызываться onFinishInflate() . Инфляция выполняется рекурсивно, начиная с корня. Взгляд, содержащий детей, возможно, должен знать, когда его дети закончили быть раздутыми. Одним из основных видов использования этого обратного вызова является просмотр, когда ViewGroups выполняют специальные действия, когда его дети готовы.

Предположим, у вас есть подкласс View называемый CustomView , и что он не CustomView внутренние макеты сами по себе. Если у вас был CustomView где-то в вашем макете, то есть:

 ... <com.company.CustomView android:layout_width="wrap_content" android:layout_height="wrap_content" /> ... 

Вы должны увидеть обратный вызов onFinishInflate() после его раздувания. Если это в вашем основном макете вашей деятельности, вы можете рассмотреть это после того, как вызывается Activity.setContentView(int) . Внутри это вызовет LayoutInflater.inflate(...) .

Кроме того, если вы создали экземпляр CustomView с:

 ... new CustomView(context); ... 

… вы не получите звонок onFinishInflate() . Таким образом, создание его таким образом, естественно, означает, что у него нет детей, и, следовательно, ему не нужно ждать, пока они будут воспроизведены рекурсивно, как в XML-инфляции.