Size: a a a

StartAndroid Ru Chat

2020 July 11

S

Syncended in StartAndroid Ru Chat
Sergey
Привет!

Есть класс, в нем переменная типа long. Если создать класс, то по умолчанию она будет проинициализирована как 0.

Какая нормальная практика есть, чтобы отличить, что эта переменная проинициализирована по умолчанию, а не установлена кем-то?
kotlin, java?
источник

S

SpiriX in StartAndroid Ru Chat
Sergey
Привет!

Есть класс, в нем переменная типа long. Если создать класс, то по умолчанию она будет проинициализирована как 0.

Какая нормальная практика есть, чтобы отличить, что эта переменная проинициализирована по умолчанию, а не установлена кем-то?
добавь boolean поле, при инициализации делай его false, в сеттере своего числа также меняй флаг на true. мне кажется так проще всего
источник

S

Syncended in StartAndroid Ru Chat
можешь поставить null, и проверять на него
источник

S

Sergey in StartAndroid Ru Chat
Syncended
kotlin, java?
На java. Разве можно обычному long поставить null?
источник

S

Syncended in StartAndroid Ru Chat
Используй не примитив
источник

S

Sergey in StartAndroid Ru Chat
SpiriX
добавь boolean поле, при инициализации делай его false, в сеттере своего числа также меняй флаг на true. мне кажется так проще всего
Тоже склоняюсь к этому варианту, но таких переменных несколько. long для примера. Т.е. тогда заводится доп. ещё три переменных и три метода проверки(
источник

S

SpiriX in StartAndroid Ru Chat
если они используются в одном месте, сделай один метод проверки, который вернет массив с результатами для всех трех переменных.
источник

S

Sergey in StartAndroid Ru Chat
Спасибо!!😊
источник

A

Alex in StartAndroid Ru Chat
Syncended
Fragment есть в androidx)
Спасибо за ответы) Я понимаю что в AndroidX есть фрагменты) но если использовать фрагменты без суппорт библиотек, через androidx, будут ли они отображаться например в Android 4.4?
источник

S

Syncended in StartAndroid Ru Chat
да, начиная с него, вроде, и работает
источник

S

Syncended in StartAndroid Ru Chat
AndroidX has started with the support library for API Level 28, so minSdk 14 will be the requirement.
источник

ES

Egor Sigolaev in StartAndroid Ru Chat
Sergey
Привет!

Есть класс, в нем переменная типа long. Если создать класс, то по умолчанию она будет проинициализирована как 0.

Какая нормальная практика есть, чтобы отличить, что эта переменная проинициализирована по умолчанию, а не установлена кем-то?
Сделай её -1. Ведь такого числа не может быть, а значит точно не проиниц.
источник

S

Sergey in StartAndroid Ru Chat
Egor Sigolaev
Сделай её -1. Ведь такого числа не может быть, а значит точно не проиниц.
У меня одна переменная типа int, а другая типа long. Они же допускают отрицательные значения. Другое дело, что по логике класса они не полодительные
источник

ВЯ

Влад Якименко... in StartAndroid Ru Chat
источник

ВЯ

Влад Якименко... in StartAndroid Ru Chat
источник

ВЯ

Влад Якименко... in StartAndroid Ru Chat
Привет, может мне кто-то объяснить как это работает: у меня с помощью дата байндинга показывается или скрывается вьюха в зависимости от значения mIsErrorVisible(это ObservableBoolean). На первом фото логика не работает в датабайндинг уходит значение "ошибки нет" хотя она есть. Во втором случае приложение крашится с ошибкой: в методе subscribe нет лямбды onError
источник

KK

Konstantine Kovalenk... in StartAndroid Ru Chat
Влад Якименко
Привет, может мне кто-то объяснить как это работает: у меня с помощью дата байндинга показывается или скрывается вьюха в зависимости от значения mIsErrorVisible(это ObservableBoolean). На первом фото логика не работает в датабайндинг уходит значение "ошибки нет" хотя она есть. Во втором случае приложение крашится с ошибкой: в методе subscribe нет лямбды onError
.subscribe({ response ->

               }, { error ->

               })
источник

KK

Konstantine Kovalenk... in StartAndroid Ru Chat
Влад Якименко
Привет, может мне кто-то объяснить как это работает: у меня с помощью дата байндинга показывается или скрывается вьюха в зависимости от значения mIsErrorVisible(это ObservableBoolean). На первом фото логика не работает в датабайндинг уходит значение "ошибки нет" хотя она есть. Во втором случае приложение крашится с ошибкой: в методе subscribe нет лямбды onError
блин, у тебя ж там джава а не котлин
источник

KK

Konstantine Kovalenk... in StartAndroid Ru Chat
Влад Якименко
Привет, может мне кто-то объяснить как это работает: у меня с помощью дата байндинга показывается или скрывается вьюха в зависимости от значения mIsErrorVisible(это ObservableBoolean). На первом фото логика не работает в датабайндинг уходит значение "ошибки нет" хотя она есть. Во втором случае приложение крашится с ошибкой: в методе subscribe нет лямбды onError
блин сори, щас нет времени особо искать, попробуй конкретно сейчас вместо subscribe использовать   .subscribeWith(new DisposableObserver()) чтобы найти ошибку (только обсервер должен быть нужного типа (single, maybe или observable d зависимости что у тебя передается))
источник

ВЯ

Влад Якименко... in StartAndroid Ru Chat
Konstantine Kovalenko
блин сори, щас нет времени особо искать, попробуй конкретно сейчас вместо subscribe использовать   .subscribeWith(new DisposableObserver()) чтобы найти ошибку (только обсервер должен быть нужного типа (single, maybe или observable d зависимости что у тебя передается))
Та мне бы понять как эти методы работают, а то всё-таки "рабочая версия" мне не совсем подходит, так как если нет соединения мне в любом случае пишет что ошибка есть, а мне нужно чтобы если этот профиль уже открывался загружать данные с бд... Как работает onErrorReturn, в subscribe и response и throwable запускаются запускаются или что?
источник