Александр
эт больше похоже на эхспандаблЛистВью, а мне бы какбы простую текствьюху...
Я такое пилил сам через StaticLayout, но у меня был специфичный кейс. А что, нельзя просто взять и при клике на TextView поиграться с maxLines/ellipsize?
Ravshan
так задача решена или все еще нет?
Да я логику не понял. Создал String text = "this is 1", SpannableStringBuilder builder; textview.setText(builder); А как менять то цифру 1 на 2? Ведь же builder показан на TextView а не сам String text
Ravshan
https://stackoverflow.com/questions/5754363/android-how-to-replace-part-of-a-string-by-another-string
Братан я это понял. Проблема не в этом.
Ravshan
Щас все подробно напишу
Ravshan
String text = "This is 1" SpannableStringBuilder builder = new SpannableStringBuilder(text); builder.setSpan( colorRed, 7, 9, Spanned.SPAN_EXCLUSIVE_INCLUSIVE ); TextView.setText(builder); Показан this is 1 1- красного цвета. Теперь мне надо заменить 1 на 2, а 2 на 3 чтоб остался красным и показать на TextView
Ravshan
так и сделай, что мешает?
Мб дополните код?
Aleksey
Мб дополните код?
выше уже показали, как менять строки
Yerlan
Мб дополните код?
прости выведи String и SpannableStringBuilder в отдельную функцию, которая будет возвращать builder )
⬤ vitaly
что вот это такое, как оно сейчас называется?
Александр
Нафига там этот билдер вообще? Первый ответ отсюда не поможет? https://stackoverflow.com/questions/4032676/how-can-i-change-the-color-of-a-part-of-a-textview
Александр
Щас все подробно напишу
Просто совет, с этого нужно начинать, чтобы чат не сидел и не ломал башку от того "что же он там имел ввиду вообще и чё ему надо".
⬤ vitaly
почему не видно R.styleable? Как доступиться до этой хрени?
Александр
что вот это такое, как оно сейчас называется?
Создание атрибутов разметки для собственных компонентов в Android
Дмитрий
Всем привет) Кто-то сталкивался с тем. что при переопределении onBackPressed на некоторых устройствах перестает реагировать кнопка назад? https://pastebin.com/cpCRqxCj
Yakov
что вот это такое, как оно сейчас называется?
Это твои кастомные атрибуты, используется при создания кастомных вьюх
⬤ vitaly
это я в курсе, мне в джаву надо передать attrs, где их взять сейчас, если не видно никакого R.styleable?
Yakov
это я в курсе, мне в джаву надо передать attrs, где их взять сейчас, если не видно никакого R.styleable?
Зачем их передовать ? Если создаёшь вью из кода тебе за глаза конструктор с контекстом
Yakov
ну, мне НАДО передавать. Как это сделать?)
Эмм атрибут сет всегда только из хмл юзал, ну поищи в инете должен быть способ создать атрибут сет
Александр
Не понимаю часть вопроса про передачу attrs. Они приходят в конструкторах вьюх, это просто переменная с типом AttributeSet, передаёшь её так же как передавал бы всё остальное. А вот почему styleable не видно - эт интересно, оно в моём понимании должно быть видно везде.
Vladislav
Добрый день, никто не сталкивался, в тестовом режиме на пк присуствуют все языки, нормально реагируют на смену языка, а при загрузке с маркета при смене языка отображается русский, но при этом подсказки вроде вставить/копировать при нажатие на полях выводятся на нужном языке
Александр
что вот это такое, как оно сейчас называется?
А там точно тот R в импорте стоит?
⬤ vitaly
Не понимаю часть вопроса про передачу attrs. Они приходят в конструкторах вьюх, это просто переменная с типом AttributeSet, передаёшь её так же как передавал бы всё остальное. А вот почему styleable не видно - эт интересно, оно в моём понимании должно быть видно везде.
ну если надо мне к аттрибуту доступиться из кода и его поменять, ну да они как обычно вырезали по каким-то там своим причинам и особо не запарились чтобы где-то упоминать, как обычно.
Антон
ребят подскажите пожалуйста что делает commitNow()? а то нагуглить не смог ( override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) if (savedInstanceState == null) { supportFragmentManager.beginTransaction() .replace(R.id.container, Fragment(), "ar") .commitNow() title = getString(R.string.ar) }
Kopusha
комитит транзакцию синхронно. Но как-то не верится, что это не гуглится. Кажется, корневой фрагмент принято пихать в хост асктивити с commitNow
Дмитрий
Супер вызови
Попробовал, не помогло. Метод внутри класса даже не вызывается. На устройстве с Android 9 это все нормально работает. Не могу понять в чем именно разница между версиями
Александр
ну если надо мне к аттрибуту доступиться из кода и его поменять, ну да они как обычно вырезали по каким-то там своим причинам и особо не запарились чтобы где-то упоминать, как обычно.
Чёт странно задача звучит. Это же кастомная вьюха? Нельзя просто в ней поле завести и изменять его? Есть у меня сомнения, что то что ты хочешь сделать вообще невозможно. Это типо, ты хочешь взять вьюху с кастомным атрибутом и поменять его из кода? Так можно разве?
neikist
комитит транзакцию синхронно. Но как-то не верится, что это не гуглится. Кажется, корневой фрагмент принято пихать в хост асктивити с commitNow
Кажется это сразу в жавадоке написано к методу даже, никакой гугл не нужен. З.Ы. нужно сначала листать ответы до конца
Александр
а в чём проблема? О_О
Я просто не представляю как ты это сделать хочешь. Чёт у меня не хватает скиллзов это объяснить, позовите сеньоров. Вообщем, в моём понимании атрибуты нужны только для того чтобы во вьюхе получить какие - то дефолтные переменные. Всё. Управление вьюхой через атрибуты не производится, "менять их из кода" смысла нет, ты с ними в конструкторе поработал, получил состояние вьюхи, всё, забудь про них. Если ты хочешь поменять что - то в конкретной вьюхе, то ты делаешь это через сеттеры/изменения публичных полей, иного не дано. Имхо.
⬤ vitaly
А, ну я думал что ты хочешь сделать что - то вида... yourView.yourCustomValue = 666 ...без сеттера и внутренних переменных
а даже если бы так - что в этом криминального?)) если я пишу textView.text = "asd" - это чем-то отличается?)
Александр
⬤ vitaly
Тем что в TextView есть метод setText(), атрибуты тут вообще не участвуют.
ребята старались, делали котлин, чтобы ты не юзал проперти аксес синтакс? 🤣
⬤ vitaly
Не хочу тебя расстраивать, но...(((
ну так это потому что там джава. Если я вьюху пишу на котлине, то у меня там и аксесоры будут котлиновские, если они мне нужны кастомные. В этом же вся и фишка, не?
Ruslan
Привет, кто знает какие есть ограничения на размер строки в strings.xml?
⬤ vitaly
var variable get() { // fkgdmgd } set(value) { // ndngdfgknd }
в этом есть какой-то скрытый смысл?)
Aleksey
в этом есть какой-то скрытый смысл?)
> у меня там и аксесоры будут котлиновские, если они мне нужны кастомные
Александр
можно, всё можно) Я думал, есть вьюха шоб на всё готовое прийти)
Могу впринципе такое вот расшарить, сделал месяц назад на коленке, только оно сырое малясь, придётся тебе допиливать на лету.
Ruslan
Просто предположение: MAX_INT
когда ставлю на TextView большой текст, вместо текста виду STRING_TOO_LARGE
⬤ vitaly
Могу впринципе такое вот расшарить, сделал месяц назад на коленке, только оно сырое малясь, придётся тебе допиливать на лету.
пасиб, я допилю свою и разберусь заодно, как там чё, а то в последний раз как я с СО копировал код кастомной вьюхи, много воды утекло))
Aleksey
ну. Я в чём-то не прав?) Не говори загадками)
наверное, я за ваш срач не вывез
⬤ vitaly
наверное, я за ваш срач не вывез
эт не срач, мы просто разбирались, что у чему. Я ненавижу (и стремлюсь) уничтожить всё, что связано с андройдными вьюхами, и мы просто вели философскую беседу)
Valeriy
Подскажите, большинство мануалов делают загрузку картинок через glid прямо из адаптера recycler. Куда ее лучше вынести? Если стараться соблюдать mvvm
Taras
когда ставлю на TextView большой текст, вместо текста виду STRING_TOO_LARGE
гугл. Первый вопрос стаковерфлоу: https://stackoverflow.com/questions/51732252/textview-shows-string-too-large
⬤ vitaly
подкажи лучше, почему у меня кастомный аттрибут не видно (код я, конечно, не покажу)
⬤ vitaly
мож перебилдить надо или не тот R импортнул?
р тот, перебилдил, но вот не видно и всё
Александр
гугл. Первый вопрос стаковерфлоу: https://stackoverflow.com/questions/51732252/textview-shows-string-too-large
Ну кстати, там какие - то лютые решения накинуты. Зато есть ответ на вопрос о максимальной длинне строки в apk: 2^15, хотя это чёт сомнительно
Александр
а у меня работает, кек
Вызови врача своим атрибутам, они кровоточат))0
Александр
а у меня работает, кек
Мои атрибуты, люблю их кста.
⬤ vitaly
⬤ vitaly
о, с бубном поплясал и заработало. Обожаю.
⬤ vitaly
а не, не заработало, показалось.
Aleksey
а в какой папке-то лежит это все? values?
Дмитрий
Ребят, у меня немного непонятная ситуация. Помогите. пожалуйста, разобраться. Когда перехожу в фрагмент, физическая кнопка не работает. Как только немного прокручу страницу, даже на капельку, ее функционал возвращается. С чем это может быть связано?(когда нажимаю, в логах пишется D/ViewRootImpl@cda872d[InStoriesActivity]: ViewPostImeInputStage processKey 0 D/ViewRootImpl@cda872d[InStoriesActivity]: ViewPostImeInputStage processKey 1)
Viktor
Добрый день. Работал кто-то с Worker? Могу ли я как-то сдлеать, чтоб у меня одна задача запускалась с некоторой переодичностью, а еще две, запускались после успешного выполнения первой? Не могу связать continuation и PeriodicWorkRequest
Anonymous
Почему такая 0уйня на стоковое теме возникла (кнопочка серая)
Anonymous
buttonColor ресурс что ли меняет цвет?
Stanislav
Добрый вечер. Кто Dagger 2 хорошо знает, может мне помочь устранить ошибку. Весь инет перелопатил, сверял с другими проектами - не знаю в чём проблема (( Ссылка на проект: https://github.com/StasonicK/MvpAuth/tree/feature/database
Stanislav
ошибка то в чем?
error: [Dagger/MissingBinding] com.eburg_soft.mvpauth.data.IDataRepository cannot be provided without an @Provides-annotated method. A binding with matching key exists in component: com.eburg_soft.mvpauth.di.components.ModelComponent com.eburg_soft.mvpauth.data.IDataRepository is injected at com.eburg_soft.mvpauth.base.BaseModel.mIDataRepository com.eburg_soft.mvpauth.screens.catalog.CatalogModel is injected at com.eburg_soft.mvpauth.di.modules.CatalogModule.provideCatalogPresenter(catalogModel) com.eburg_soft.mvpauth.screens.catalog.CatalogContract.Presenter is injected at com.eburg_soft.mvpauth.screens.catalog.CatalogFragment.mCatalogPresenter com.eburg_soft.mvpauth.screens.catalog.CatalogFragment is injected at com.eburg_soft.mvpauth.di.components.CatalogComponent.inject(com.eburg_soft.mvpauth.screens.catalog.CatalogFragment) [com.eburg_soft.mvpauth.di.components.AppComponent ? com.eburg_soft.mvpauth.di.components.RootComponent ? com.eburg_soft.mvpauth.di.components.CatalogComponent]