@android_ru

Страница 2640 из 3205
flattery
10.02.2018
18:57:43
И в bindData у тебя лист изменяется, а адаптер об этом не знает. После любого изменения листа вызывай notifyDataSetChanged. В onResume такое нельзя пихать.
@Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key.equals(getString(R.string.pref_show_eur))) { list.remove(2); mAdapter.notifyDataSetChanged(); тоже ничего

David
10.02.2018
18:58:14
А у тебя этот метод точно вызывается? Подебаж

flattery
10.02.2018
18:58:31
Вызывается



Google
flattery
10.02.2018
19:01:18
Было 7. Но почему-то при возврате опять 7

David
10.02.2018
19:02:06
Убери все лишние adapter.notify

У тебя в onResume() такого всего не должно быть

flattery
10.02.2018
19:03:20
Убрат онрезюм вообще. опять глухо

David
10.02.2018
19:03:51
Если ты список не менял, но сказал адаптеру, notifyItemRemoved или что-то подобное, то пошел рассинхрон

А ещё создай адаптер 1 раз в onCreate. А не каждый раз при получении данных

Timur
10.02.2018
19:07:20
Привет, ребят! Хотел задать вопрос по realm, есть группа?

David
10.02.2018
19:07:20
Не уверен правда, что из-за этого ошибка

Quantum Harmonizer
10.02.2018
19:08:11
Привет, ребят! Хотел задать вопрос по realm, есть группа?
здесь можно, он даже в описании упомянут

Алексей
10.02.2018
19:08:31
Привет, ребят! Хотел задать вопрос по realm, есть группа?
ты сперва спроси, а там уже видно будет, ответят, проигнорят или линк дадут

Timur
10.02.2018
19:15:07
Вопрос глупенький, есть идеи, но не знаю как правильно это сделать. Задача: когда пользователь установил приложение, нужно чтоб в базе уже были данные. Есть Советы как это лучше сделать используя realm ? У меня есть идеи, но мне кажется они не очень

flattery
10.02.2018
19:17:49
Не уверен правда, что из-за этого ошибка
Я прям новый адаптер захерачил в коллбеке, с новым же листом. Опять ничего :D

Quantum Harmonizer
10.02.2018
19:20:18
Я прям новый адаптер захерачил в коллбеке, с новым же листом. Опять ничего :D
https://github.com/L1maginaire/CurrencyMonitor/blob/master/app/src/main/java/com/example/currencymonitor/ui/MainActivity.java#L205 потенциальный источник проблем

Google
Timur
10.02.2018
19:21:26
В адаптер что то не добавил

@Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key.equals(getString(R.string.pref_show_eur))) { list.remove(2); mAdapter.notifyDataSetChanged(); тоже ничего

Quantum Harmonizer
10.02.2018
19:25:48
В адаптер что то не добавил
вот https://github.com/L1maginaire/CurrencyMonitor/blob/master/app/src/main/java/com/example/currencymonitor/ui/MainActivity.java#L152

Timur
10.02.2018
19:26:13
Было 7. Но почему-то при возврате опять 7
https://stackoverflow.com/questions/45413292/recyclerview-does-not-update-after-removing-an-item#comment77787802_45413292

Quantum Harmonizer
10.02.2018
19:26:36
вообще, код запутанных, именование плохое, поведение неочевидное

Константин
10.02.2018
19:26:57
Господа,кто-нибудь рисовал схему зала кинотеатра?

Что я только не думал. И RV+GridLayoutManager и своя верстка в webview

Quantum Harmonizer
10.02.2018
19:28:24
кастомная вьюха же

Quantum Harmonizer
10.02.2018
19:32:40
А что это?
Код flattery

Konstantin
10.02.2018
19:34:14
Вопрос глупенький, есть идеи, но не знаю как правильно это сделать. Задача: когда пользователь установил приложение, нужно чтоб в базе уже были данные. Есть Советы как это лучше сделать используя realm ? У меня есть идеи, но мне кажется они не очень
Можно класть уже готовый инстанс realm в assets например и оттуда разворачивать в какую-то папку на устройстве. Конфиг realm в приложении соответственно должен знать о местоположении

Константин
10.02.2018
19:36:16
кастомная вьюха же
31 место в ряду и плюс интерактив. На мелких экранах будет больно

Quantum Harmonizer
10.02.2018
19:38:25
31 место в ряду и плюс интерактив. На мелких экранах будет больно
Порезать на секции, сделать pinch-to-zoom. Дизайна нет, надо самому придумать?

Konstantin
10.02.2018
19:39:10
Так а так разве хорошо делать?
Возможно я чего-то не знаю...

Timur
10.02.2018
19:40:24
Возможно я чего-то не знаю...
Не не. Спасибо большое!

Konstantin
10.02.2018
19:41:16
Просто я так решал кейс, ьо есть при установке юзер имеет какую-то бд с данными. Дальше обновляли уже в процессе работы приложения

Timur
10.02.2018
19:47:13
Я просто realm adapter подключил. Я так понимаю это обрубок realm?

Просто я так решал кейс, ьо есть при установке юзер имеет какую-то бд с данными. Дальше обновляли уже в процессе работы приложения

Google
Konstantin
10.02.2018
19:53:18
Честно говоря вот про адаптер не в курсе

flattery
10.02.2018
19:54:28
@Harmonizr есть какие-то конкретные замечания по улучшению? нам, самоучкам, сложно на ощупь понять что куда =)

Quantum Harmonizer
10.02.2018
19:55:57
@Harmonizr есть какие-то конкретные замечания по улучшению? нам, самоучкам, сложно на ощупь понять что куда =)
Названия неговорящие, data flow неочевидный. Могу голосом рассказать, ибо долго, много нюансов.

JRoot3D
10.02.2018
20:16:48
Так а так разве хорошо делать?
почему нет? у нас в паре проектов хранят стартовую базу в асетах

Grushin
10.02.2018
20:28:58
народ как чекать несколько булинов так чтобы если первый булит false то if останавливается и проверкк дальше не идет?

я вот юзаю && между ними и все равно проверяет после первого false

Konstantin
10.02.2018
20:31:25
Вот мне тоже казалось что проверка в таком случае останавливается

Grushin
10.02.2018
20:32:10
override fun onPageSelected(position: Int) { when { position > 0 && slides[position - 1] is IntroCategoryFragment -> { if (getAlotCategories().isEmpty()) { vibrateIfNothingSelected() MaterialDialog.Builder(this@IntroActivity) .title("Завершите настройку") .content("Выберите хотя бы одну категорию") .positiveText("OK") .cancelable(false) .show() Handler().postDelayed({ pager.goToPreviousSlide() }, 500) } else { if (mode == FILTER_MODE && Prefs.getInstance().paidSitesState == Prefs.PaidSitesState.none.name) { val freeSitesTrigger = slides[position].view!!.findViewById<FreePaidTriggerButton?R.id.freeSitesTrigger) MaterialIntroView.Builder(this@IntroActivity) .enableDotAnimation(false) .setFocusGravity(FocusGravity.CENTER) .setFocusType(Focus.NORMAL) .setDelayMillis(200) .enableFadeAnimation(true) .enableIcon(false) .performClick(true) .setInfoText(getString(R.string.free_sites_trigger_description)) .setTarget(freeSitesTrigger) .setTargetPadding(15) .setUsageId("paidSitePopup") .show() } } } position > 0 && slides[position - 1] is IntroSiteFragment -> { if (getEnabledSites().isEmpty()) { vibrateIfNothingSelected() MaterialDialog.Builder(this@IntroActivity) .title("Завершите настройку") .content("Выберите хотя бы один сайт") .positiveText("OK") .cancelable(false) .show() Handler().postDelayed({ pager.goToPreviousSlide() }, 500) } }

у меня типа защита от перехода к следующему слайду пейжера если на текущем не заполнено что нужно

Quantum Harmonizer
10.02.2018
20:33:21
Konstantin
10.02.2018
20:33:21
Я пытался прочитать но не смог

Grushin
10.02.2018
20:33:22
баг был во втором кейсе getEnabledSites

Timur
10.02.2018
20:34:16
неправда
Разве если первая часть false он не останавливается?О-о

Konstantin
10.02.2018
20:34:39
В том и дело что останавливается

Quantum Harmonizer
10.02.2018
20:34:51
я вот юзаю && между ними и все равно проверяет после первого false

неправда

Google
Konstantin
10.02.2018
20:34:58
Ну точнее я всегда так думал почему-то

Grushin
10.02.2018
20:36:04
вообщем причина не понятна так как краш прилетел такой. костыль зафигачил.

воспроизвести баг тоже не удалось

разделил if - помочь должно. короче суть в чем. сначала идет слайд на котором мультичойсом надо выбрать нужное потом слайд где нужно еще выбрать уже другое. при свайпе с первого на второй вылета нет. при свайпе со второго - вылет есть. в первом кейсе if разделен, а во втором нет. разделил. по сути если бы разделение не играло роли то вылет был бы в свайпе с первого на второй. а тут со второго на третий. разница только в этом if. хз че такое))

мб потому что Kotlin? там может другой характер &&?

Grushin
10.02.2018
20:41:55
или потому что when?

точно, там не if а when

Admin
ERROR: S client not available

Quantum Harmonizer
10.02.2018
20:42:13
без кода и стектрейса говорить не о чем

Grushin
10.02.2018
20:42:57
ну ок, пофиг)

Anton
10.02.2018
20:43:00
Dan
10.02.2018
20:45:51
Здравствуйте, подскажите пожалуйста в какую сторону копать, если нужна кнопка с текущим значением, но справа



Dan
10.02.2018
20:47:14
Ну вот как Secure Wi-Fi и Open сделаны

flattery
10.02.2018
20:47:49
Ну вот как Secure Wi-Fi и Open сделаны
это два textview, поменяй их местами

Fedor
10.02.2018
20:50:37
Господа, помогите, пожалуйста, постигнуть суть вот этого выражения: String currentDate = DateFormat.getDateInstance().format(cal.getTime()) А именно: -почему после геттера, который должен вернуть DateInstance стоит точка - чем она является, если предыдущая точка - это "нырок" в класс DateFormat? -Чем является этот DateInstance? -Методом какого класса является здесь .format(), и почему нельзя просто сказать String currentDate = DateFormat.format(cal.getTime()) и для полноты картины: Calendar cal = Calendar.getInstance(); - можно ли назвать это инициализацией переменной cal?

Google
Dan
10.02.2018
20:56:29
это два textview, поменяй их местами
Мне нужно кастомизировать фрагмент настроек, скриншот - пример того, что я хотел бы сделать. Ну то есть нужна кнопка подобная стандартной preference fragment, но с текстом с правой стороны

Vladislav
10.02.2018
20:57:38


flattery
10.02.2018
20:57:56
sdk manager

Михаил
10.02.2018
20:58:49
Vladislav
10.02.2018
20:59:06


Fedor
10.02.2018
21:02:15
1) Вызов метода идёт у объекта, который вернул getDateInstance() 3) format() это не статический метод
3) то есть, DateFormat.getDateInstance() необходим, для того чтобы метод format() был в принципе доступен? Известно, чем обусловлена такая структура, или это "издержки реализации"?

Dan
10.02.2018
21:03:51
В xml этой вьюхи что?
Ничего пока что, просто обдумываю как это можно сделать

Можно сделать самописный layout, или посмотреть в сторону либ, или написать свой элемент, который наследуется от Preference
Самописный layout, где текст и кнопка просто отдельные элементы, текст обновлять в активности?

flattery
10.02.2018
21:05:12
Ничего пока что, просто обдумываю как это можно сделать
по-разному можно. тут разница в цвете и размере только. ну сделай row и выравнивание. или constrantом запили по краям

Михаил
10.02.2018
21:07:31
Самописный layout, где текст и кнопка просто отдельные элементы, текст обновлять в активности?
Ты наследуешься не от PreferenceFragment, а от Fragment и делаешь обычный xml, но вариант со своей PrefsView будет получше

Dan
10.02.2018
21:11:39
Спасибо за ответы

Fedor
10.02.2018
21:18:53
Спасибо за ответы, я почему-то подразумевал, что объект класса DateFormat содержит в себе дату/время, а он содержит в себе ФОРМАТ, как я теперь осознал ;)

Konstantin
10.02.2018
21:27:10
Господа, помогите, пожалуйста, постигнуть суть вот этого выражения: String currentDate = DateFormat.getDateInstance().format(cal.getTime()) А именно: -почему после геттера, который должен вернуть DateInstance стоит точка - чем она является, если предыдущая точка - это "нырок" в класс DateFormat? -Чем является этот DateInstance? -Методом какого класса является здесь .format(), и почему нельзя просто сказать String currentDate = DateFormat.format(cal.getTime()) и для полноты картины: Calendar cal = Calendar.getInstance(); - можно ли назвать это инициализацией переменной cal?
есть каскадные вызовы, есть цепочные вызовы. оба типа экономят создание лишних промежуточных переменных каскадный вызов - когда результат метода используется как аргумент другого метода. cal.getTime() как аргумента для format() цепочный вызов - когда следующий метод вызывается на результате выполнения предыдущего метода - билдеры так пишутся обычно по цепочке либо получение "глубоко" лежащих объектов DateFormat.getDateInstance() - статик метод класса. обычно говорят что статик методы принадлежат "классу" а не конкретному экземпляру, поэтому вызываются на классе а не на экземпляре

Nikita
10.02.2018
21:29:01
Народ

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