Size: a a a

Flutter Developers — русскоговорящее сообщество

2019 September 13

ND

Nikita Dauhashei in Flutter Developers — русскоговорящее сообщество
Konstantin Smirnov
Всем привет! Я что-то затупил, подскажите пожалуйста, как в конструкторе StatelessWidget сделать некие преобразования с входящими параметрами (к примеру, передается файербейсовский DataSnapshot, а мне нужно вытащить из него данные, но с определенными условиями). Я сейчас разбор данных осуществляю в методе build, но он вызывается каждый раз даже при скроллинге экрана, а я бы хотел, чтобы эти преобразования происходили один раз при создании виджета.
Был бы это StatefullWidget, я бы это сделал в методе initState()
Можно сделать, просто не так как хотите)
источник

T

Tim in Flutter Developers — русскоговорящее сообщество
Konstantin Smirnov
Всем привет! Я что-то затупил, подскажите пожалуйста, как в конструкторе StatelessWidget сделать некие преобразования с входящими параметрами (к примеру, передается файербейсовский DataSnapshot, а мне нужно вытащить из него данные, но с определенными условиями). Я сейчас разбор данных осуществляю в методе build, но он вызывается каждый раз даже при скроллинге экрана, а я бы хотел, чтобы эти преобразования происходили один раз при создании виджета.
Был бы это StatefullWidget, я бы это сделал в методе initState()
А разве нельзя передать в конструктор как обязательное поле и потом присвоить в теле коструктора другой переменной с нужными преобразованиями?)
источник

T

Tim in Flutter Developers — русскоговорящее сообщество
var a;
ChatMessageListItem(this.data) {
   a = transform(data);
}
источник

T

Tim in Flutter Developers — русскоговорящее сообщество
Если я правильно понял задачу)
источник

ND

Nikita Dauhashei in Flutter Developers — русскоговорящее сообщество
class Test extends StatelessWidget {
 Test({String fullName}) : name = fullName.split(' ')[0];

 final String name;

Или так
источник

KS

Konstantin Smirnov in Flutter Developers — русскоговорящее сообщество
Tim
var a;
ChatMessageListItem(this.data) {
   a = transform(data);
}
Я пытался таким образом, но моя ошибка была, видимо, в том, что я пытался результат преобразования присвоить финальной переменной.  Спасибо за подсказку!
источник

T

Tim in Flutter Developers — русскоговорящее сообщество
Да, финальной можно либо сразу, либо вот так в конструкторе
final data;
ChatMessageListItem({this.data})
источник

KS

Konstantin Smirnov in Flutter Developers — русскоговорящее сообщество
Nikita Dauhashei
class Test extends StatelessWidget {
 Test({String fullName}) : name = fullName.split(' ')[0];

 final String name;

Или так
Хм, тоже вариант. Не придется заводить кучу переменных
источник

T

Tim in Flutter Developers — русскоговорящее сообщество
Вроде никак иначе (поправьте, если не прав)
источник

KS

Konstantin Smirnov in Flutter Developers — русскоговорящее сообщество
Всем спасибо, оба решения супер, мне подходят оба, сейчас выберу, какое будет лучше
источник
2019 September 14

KS

Konstantin Smirnov in Flutter Developers — русскоговорящее сообщество
Всем отличных выходных!
А кто не отдыхает, как я - позвольте побеспокоить вопросом:
Кто как решает вопрос с перерисовкой виджета GoogleMap (который, как я понял, отрисовывается в WebView)?
Исходные данные - GoogleMap находится в конце SliverChildListDelegate и начинает отрисовываться каждый раз при перемотке к нему (перемотали вниз - отрисовался, затем перемонали вверх и снова вниз - снова перерисовался). Причем все бы ничего, только делает он это с задержкой... Может есть какой-то прием, позволяющий отрисовать (построить) этот виджет всего один раз?
источник

ND

Nikita Dauhashei in Flutter Developers — русскоговорящее сообщество
Konstantin Smirnov
Всем отличных выходных!
А кто не отдыхает, как я - позвольте побеспокоить вопросом:
Кто как решает вопрос с перерисовкой виджета GoogleMap (который, как я понял, отрисовывается в WebView)?
Исходные данные - GoogleMap находится в конце SliverChildListDelegate и начинает отрисовываться каждый раз при перемотке к нему (перемотали вниз - отрисовался, затем перемонали вверх и снова вниз - снова перерисовался). Причем все бы ничего, только делает он это с задержкой... Может есть какой-то прием, позволяющий отрисовать (построить) этот виджет всего один раз?
GlobalKey добавляли?
источник

KS

Konstantin Smirnov in Flutter Developers — русскоговорящее сообщество
Nikita Dauhashei
GlobalKey добавляли?
нет, понял свою ошибку
источник

KS

Konstantin Smirnov in Flutter Developers — русскоговорящее сообщество
Спасибо
источник

T

Tim in Flutter Developers — русскоговорящее сообщество
Всем привет! А кто чем пользуется для воспроизведения аудио с сети?
источник

Ю

Юрий in Flutter Developers — русскоговорящее сообщество
Audio players
источник

T

Tim in Flutter Developers — русскоговорящее сообщество
Юрий
Audio players
audioplayer 0.5.2?
источник

Ю

Юрий in Flutter Developers — русскоговорящее сообщество
audioplayers | Flutter Package
https://pub.dev/packages/audioplayers
источник

T

Tim in Flutter Developers — русскоговорящее сообщество
Спасибо! Попробую
источник

T

Tim in Flutter Developers — русскоговорящее сообщество
Tim
audioplayer 0.5.2?
Вот тут наткнулся на проблему, когда невозможно создать 2 инстанса в одном классе
источник