Andreu
пробовал явное
Роман
и?
Vladislav
Окей, поехали дальше ))
Вопрос только в том, как вызвать этот урл в контексте браузера, где пользователь авторизован
Andreu
class ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.tv_task_id) TextView tvId;
@BindView(R.id.tv_task_price) TextView tvPrice;
@BindView(R.id.tv_task_command) TextView tvCommand;
@BindView(R.id.tv_task_time) TextView tvTime;
ImageView ivSelectedItemTriangle;
public ViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
ivSelectedItemTriangle = itemView.findViewById(R.id.iv_selected_item);
itemView.setOnClickListener(v -> {
ivSelectedItemTriangle.setVisibility(View.VISIBLE);
if (mItemClickListener != null && getAdapterPosition() != RecyclerView.NO_POSITION)
mItemClickListener.onItemClick(v, getAdapterPosition());
});
}
}
Anton
пробовал явное
А лучше кинь сгенерированный ViewHolder из generatedCode
Vladislav
Окей, поехали дальше ))
Сенкс, нашел удовлетворительное решение. https://developer.chrome.com/multidevice/android/customtabs
Роман
Роман
при чём тут пользователь?
Роман
redirect_uri
обязательный Адрес, на который будет передан code (домен указанного адреса должен соответствовать основному домену в настройках приложения и перечисленным значениям в списке доверенных redirect uri — адреса сравниваются вплоть до path-части).
Роман
доверенный адрес получит код
Vladislav
В контексте вебвью это невозможно
Andreu
может это что-то даст, каждый 8-й элемент
Andreu
совпадение?) не думаю
Anton
Andreu
нет
Andreu
почему?
Vladislav
Andy
из-за особености RV они не особо меняются
Andy
.
Andy
RecyclerView довольно экономный и он не пересоздаёт элементы, а юзает те же, просто перезаполняя их, может проблема в этом?
Andreu
потом
Andreu
не все сразу
Andreu
кажись я въезжаю, типо данные разные , а итем тотже
Anton
потом
тогда изучай метод который я тебе писал onViewRecycled ;)
Andreu
если грубо )
Роман
Anton
тебе нужно стейт viewHolder очищать ... Он же переиспользуется
Andy
+
Andreu
я так понимаю, это единственное решение и по-другому никак?)
Andreu
это по оптимизации ничего не испортит?) а то у меня данные очень динамические) каждые 5 сек у меня обновления прилетают
Anton
Andreu
Anton
А datasource свой был ? У меня просто datasource из dao приходит
Anton
Ну room умеет датасоурс возвращать
Anton
Но в принципе можно попробовать свой запилить
Роман
Свой если только тебе надо с веба страницы тащить, например
Роман
диапазоны, я имел ввиду
Anton
Anton
Да попробую
Роман
Это мне ответ ?
Ну если тебя чем-то не устраивает румовский, то - да, это ответ.
Роман
Хотел 115 раз спросить экспердов, да забываю всё время. Старость не в радость, да.
Кто-нибудь делает вот так или похоже? https://medium.com/@andycherkashyn/how-to-organize-android-project-files-the-right-way-46b34289ad0a
Роман
Я, как начал раскладывать по лоджик релатед папочкам - сразу как-то жизнь наладилась
Роман
Но правильно ли это?..
Роман
Румовский разве не заботится об этом сам?
Konstantin
Konstantin
а вместо п2 - делать отдельные модули для экранов, тогда еще удобнее будет
Konstantin
вдруг как то сразу находятся протекающие абстракции, дублированый код, и выделяется сам собой реюзабельный код
Роман
Я делаю так: основная единица - один экран. В папке скопом валяются фрагмент, вьюмодел, вьюхолдеры, адаптеры и модели итемов. Если модели надо шарить, они валяются в common
Роман
Это просто неебово удобно
Роман
Если экран по логике вложенный - папка дочернего экрана так же влаживается в папку родителя.
Anton
?
Роман
Роман
Или просто тупо отпозиционировать на №20?
Anton
Роман
rv.scrollToPosition(20)
Роман
rv = RecyclerView
Anton
Как поймать момент когда уже есть данные что проскролить?
Роман
блин, тяжко шарики ворочаются )) после 2 недель серверсайда
Роман
Там же есть события, навскидку не помню
Anton
Anton
Там же есть события, навскидку не помню
но там еще есть другая проблема. Если список например 10000 элементов в базе и нужно показать 5000ый. е грузить же весь список. И встанет вопрос как узнать позицию 5000 ого
Роман
Ну румовский датасорс сам беспокоится об этом
Роман
Для тебя процесс должен быть бесшовным - тупо сказал "хочу позицию 5000", а как оно этого добивается, уже не твоя забота
Роман
Попробуй выбрать позицию с задержкой 5 секунд от инициализации рецуклервью
Anton
Роман
И посмотришь, работает ли это так, как я сказал
Anton