@android_ru

Страница 2178 из 3205
Vitaliy
01.11.2017
06:46:25
делай через rxjava
или Data Binding, если я правильно понял вопрос.

Глеб
01.11.2017
06:49:22
да начнется битва! :D

Jack
01.11.2017
06:52:14
Google
Alexey
01.11.2017
06:56:32
Немного не понял. Как именно стоит сделать? Просто я в данный момент завел две перменные типа Boolean, в которых хранится значение, заполнено ли данное поле. И два текстВотчера, которые проверяют каждый свое поле, и в зависимости от этого делают переменную True или False
TextWatcher textWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { updateNextButtonState() } @Override public void afterTextChanged(Editable s) { } }; usernameEditText.addTextChangedListener(textWatcher); passwordEditText.addTextChangedListener(textWatcher); private void updateNextButtonState(){ nextButton.setEnabled(usernameEditText.getText().length() > 0 && passwordEditText.getText().length() > 0); }

Vitaliy
01.11.2017
06:57:18
rxbinding=)
Мне он показался сложным) Но если нравится, то почему нет. По мне с дата биндингом проще и красивее на слои разделить. ИМХО

Arkadiy
01.11.2017
06:59:04
Немного не понял. Как именно стоит сделать? Просто я в данный момент завел две перменные типа Boolean, в которых хранится значение, заполнено ли данное поле. И два текстВотчера, которые проверяют каждый свое поле, и в зависимости от этого делают переменную True или False
вот пример кода, в котором происходит сверка полей, снятие выделения с поля, когда юзер ввёл достаточно символов, флаг если поле введено верно для кнопки, которая у меня меняет цвет в зависимости от того введены ли во все поля верные данные или не введены, полей всего 4. и всё это на лету, ну не сказка ли?) RxTextView.textChanges(mText4).subscribe(charSequence -> { final String curp = charSequence.toString(); if (charSequence.length() >= 1) { ///set normal boarder's for edit text field, if user entered 1 char mText4.setBackgroundResource(R.drawable.my_edit_text_custom_normal_boarders); } ///set flag for button that we want change color to gray if (isValidCurp(curp)) { btnFlag4 = true; }else { btnFlag4 = false; buttonSecRegStage.setBackgroundColor(getResources().getColor(R.color.button_everythere_notactive)); } if (btnFlag1&btnFlag2&btnFlag3&btnFlag4){ // buttonSecRegStage.setBackgroundColor(getResources().getColor(R.color.button_everythere_main)); ///set background for button to normal active buttonSecRegStage.setBackgroundResource(R.drawable.main_button_pressed); } });

а строчек столько же сколько выше привёл наш товарищ, а функциональности в три раза больше

Otan
01.11.2017
07:07:39
или один и тот же файл будет перезаписываться, а БД должна сама апдейтиться, задетектив изменения? (я не понял этого момента)
Есть версия БД N1 у всех юзеров. Я создаю версию БД N2. Для новых инсталлов все будет нормально. Для старых я делаю alter table add column newColumnName и апдейтю туда данные из заранее приготовленной текстушки с данными.

Как это красиво решить?

Alexey
01.11.2017
07:08:22
Как это красиво решить?
Это разве не красиво?

Andrey
01.11.2017
07:08:39
Ребят, привет. Есть какой нить вменяемый способ детектить появление\скрытие soft клавиатуры? Без getViewTreeObserver().addOnGlobalLayoutListener и предположений о высоте клавиатуры на глаз

Otan
01.11.2017
07:09:26
Это разве не красиво?
Ну, я просто подумал - может есть еще варианты покрасивее, чем создвать текстушку и тянуть оттуда данные для newColumName

Ну у него может быть несколько таких апдейтов и соответственно надо за собой тянуть файлы на каждый апдейт.
Да, апдейтов будут несколько. Это словари для разных языков я буду через текстушку добавлять постепенно с каждым апдейтом. И получается мне надо будет вести их за собой пока не проапдейтятся все старые версий БД? Получается я должен буду ждать черт знает сколько времени. Может года.

Otan
01.11.2017
07:13:07
Google
Alexey
01.11.2017
07:13:36
и потерять старый счетчик инсталлов?
В описании напишешь что было много инсталлов и число укажешь

Otan
01.11.2017
07:14:34
Жаль, что я с самого начала неправильно составил архитектуру БД.

А текстовый файлик подсовываю в raw.

Nikita
01.11.2017
07:56:20
Его можно скачивать :)

Roman
01.11.2017
07:59:12
народ, как в ConstraintLayout заставить один элемент быть перед другим?

или для этого надо обернуть их в frame?

Алексей
01.11.2017
08:00:16
topToBottom?

Roman
01.11.2017
08:01:41
endToStartOf, не?
я о порядка прорисовки

т.е. они занимают одно место, но один из них ближе к юзеру

Лёша
01.11.2017
08:02:04
просто элемент в вёрстке перенеси выше

Roman
01.11.2017
08:02:05
хз как объяснить

он итак выше

Лёша
01.11.2017
08:02:11
или ниже)

Алексей
01.11.2017
08:02:26
порядок отрисовки определяется elevation, и порядком вьюх в XML

Roman
01.11.2017
08:02:37
или ниже)
да ладно, я уже в FrameLayout засунул их)

Алексей
01.11.2017
08:02:52
И чем вам это помогло?

Лёша
01.11.2017
08:02:56
ну это не выход) некрасиво получается

лучше elevation тогда уж использовать, как подсказали выше

Google
Лёша
01.11.2017
08:04:06
если elevation у всех один, то в твоём случае можно было обойтись порядком вьюх в xml

Roman
01.11.2017
08:04:13
а, да правильно

elevation помог

Никита
01.11.2017
08:19:38
Чет туплю, если у TextView стоит врап контент, как сделать область для клика по нему побольше?

Gerc
01.11.2017
08:20:27
Паддинг

Cherry
01.11.2017
08:20:54
Либо TouchDelegate

Никита
01.11.2017
08:21:06
бле...

вы кароч сделайте вид что я ничего не спрашивал...

?

Gerc
01.11.2017
08:21:36
Да через делегат лучше

Evgenii
01.11.2017
08:22:46
Доброе утро. Помогите решить проблему с сохранением состояния. Такая структура: Активити - Контроллер с табами и pager adapter. Надо запомнить выбранный 1) таб (это я сделал) 2) и выбранный до поворота экрана айтем того или иного таба.

Никита
01.11.2017
08:23:32
влетишь... тут за стикеры банят, я уже влетал...

Astroman
01.11.2017
08:23:35


Roman
01.11.2017
08:24:44
если elevation у всех один, то в твоём случае можно было обойтись порядком вьюх в xml
а можно как-то передавать клики той вьюхе, которая снизу?

передавать надо только клик и лонгклик

Лёша
01.11.2017
08:25:25
которая перекрыта?

Otan
01.11.2017
08:25:37
new Thread не создавай каждый раз
а как быть? Создать Thread в onCreate потом его запускать каждый раз?

Глеб
01.11.2017
08:26:09
а сколько строк кода можно сюда кинуть, задавая свой вопрос, чтобы не выйти за рамки приличия?) 40 можно?

Google
Глеб
01.11.2017
08:26:56
нету ссылки

Лёша
01.11.2017
08:27:16
передавать надо только клик и лонгклик
если говнокодить, то при клике на элементе повыше, вызывть онклик у перекрытого элемента а если не говнокодить - фиг его знает) мб и приемлимый вариант

Ⓜ️ᵃʳᵃᵗ
01.11.2017
08:29:24
а сколько строк кода можно сюда кинуть, задавая свой вопрос, чтобы не выйти за рамки приличия?) 40 можно?
Pastebin или гитхаб тоже позволяет бросать временные ссылки на исходники

Глеб
01.11.2017
08:29:41
https://pastebin.com/jBYiKHP1

собсна, вопрос внутри

1 фрагмент кода вываливает в исключение, второй нет. что не так с первым?)

между ними разница в том, что 1 в главном потоке, 2 в асинктаске выполняются

класс OkHttpQuiries типовой, по мануалу okhttp

Андрей
01.11.2017
08:38:55
Глеб
01.11.2017
08:39:27
Нельзя делать сетевые запросы в мэин треде
шо же делать, если я не хочу продолжать выполнение главного потока, пока не получу положительный результат в асинхроне?

юзать .get()?

Глеб
01.11.2017
08:40:41
покажи uncancelable loader
ээээ... ща загуглю что это)

Ⓜ️ᵃʳᵃᵗ
01.11.2017
08:41:40
шо же делать, если я не хочу продолжать выполнение главного потока, пока не получу положительный результат в асинхроне?
продумать логику нормльно. использовать визуальные прогресс лоадеры, диалогпоргресс итд.

Vadim
01.11.2017
08:42:02
progress dialog + setCancelable(false)

Глеб
01.11.2017
08:43:26
походу придется.. предполагалось, что стартовая активити будет висеть с таймаутом в 5с и закрываться, если запрос не получит ответа

ладно, буду делать прогрессзрень какую-нибудь

Ⓜ️ᵃʳᵃᵗ
01.11.2017
08:43:59
ога, мобильный девайс и таймаут 5 сек, реально ?

Глеб
01.11.2017
08:44:10
ну, я с запасом)

Google
Ⓜ️ᵃʳᵃᵗ
01.11.2017
08:44:25
с запасом это сек 30.

Глеб
01.11.2017
08:44:37
а 5 сек это много или мало?)

блин, я привык к быстому интернету, что по вайфаю, что по 3ж..

Ⓜ️ᵃʳᵃᵗ
01.11.2017
08:45:03
в реальной жизни может быть мало. никто тебе на улице не гарантирует высокое качество инета.

Глеб
01.11.2017
08:45:29
да, пища для размышлений. 2 штуки. спасибо, товарищи)

Gregory
01.11.2017
08:51:43
Парни, подскажите как подключить CardView в проект? Или она уже где-то в общей библиотеке есть?

пробую implementation 'com.android.support:cardview-v7:21.0.+' ошибка

Ⓜ️ᵃʳᵃᵗ
01.11.2017
08:52:45
compile "com.android.support:cardview-v7:26.1.0"

ну саппорт библа у тебя какой версии подрублена ?

у тебя студия последня видимо.

Gregory
01.11.2017
08:53:50


да, 3я версия

Ilshat
01.11.2017
08:54:58
А 3 вышла как стабильная ветка?

Sergey
01.11.2017
08:55:32
А 3 вышла как стабильная ветка?
Android studio 3? да, уже stable

Gregory
01.11.2017
08:55:38
ага, на оф сайте

Ilshat
01.11.2017
08:55:56
Надо попробовать. Давно андроид проект не запускал

Gregory
01.11.2017
08:55:56
неделю или две как вышла

Ⓜ️ᵃʳᵃᵗ
01.11.2017
08:56:07
там правда говорят есть косяки с флеворами ? я по этому на рабочем проекте не хочу переходить

Страница 2178 из 3205