LeV
что с ней делать??
MD
Пацаны, androidx с dagger2 как то можно подружить?
Dmytro
что с ней делать??
Показать тут)
LeV
Показать тут)
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/cardMsg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" android:layout_marginTop="8dp" android:paddingTop="4dp" card_view:cardCornerRadius="16dp" card_view:cardElevation="2dp"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="8dp" android:paddingLeft="8dp" android:paddingRight="8dp" android:paddingTop="8dp"> <TextView android:id="@+id/tvMsg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxWidth="250dp" android:text="Привет, тестовое сообщение и тестируем как работает автоперенос и на какой ширине" android:theme="@style/MyTvStyleMiddleNoBold" /> <TextView android:id="@+id/tvTimeMsg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:paddingTop="2dp" android:text="12:25" android:theme="@style/MyTvStyleLow" /> </LinearLayout> </android.support.v7.widget.CardView>
LeV
причем у него тут layout_gravity="right" а отображается слева(
Dmytro
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/cardMsg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" android:layout_marginTop="8dp" android:paddingTop="4dp" card_view:cardCornerRadius="16dp" card_view:cardElevation="2dp"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="8dp" android:paddingLeft="8dp" android:paddingRight="8dp" android:paddingTop="8dp"> <TextView android:id="@+id/tvMsg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxWidth="250dp" android:text="Привет, тестовое сообщение и тестируем как работает автоперенос и на какой ширине" android:theme="@style/MyTvStyleMiddleNoBold" /> <TextView android:id="@+id/tvTimeMsg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:paddingTop="2dp" android:text="12:25" android:theme="@style/MyTvStyleLow" /> </LinearLayout> </android.support.v7.widget.CardView>
Скинь на каком нибудь pastebin, gist
Dmytro
причем у него тут layout_gravity="right" а отображается слева(
В этом и проблема тогда, что у тебя разметка так построена, что гравити твое до одного места
LeV
щас залью скину
LeV
но в редакторе то оно справа, а когда пихаю в recycler отображается слева
Andrei
щас залью скину
вам нужно сделать корневой контейнер, например, FrameLayout, который будет по ширине match_parent и он будет прозрачный, а уже внутри него выставлять гравити для карточки. Возможно, что это е**чий костыль, но это первое, что пришло в голову)
LeV
https://pastebin.com/6m4bXbaY
Dmitrii
а не проще ли для этой цели написать 2 лайаута, один для принятых сообщений, а второй для отправленных ?
Artem
Мне кажется тут надо смотреть в сторону кастомного layout managerа для recycler
Anonymous
Пытаюсь сделат авторизаци, в итоге метод authentication вызывается бесконечно. Что я не так делаю?
LeV
а не проще ли для этой цели написать 2 лайаута, один для принятых сообщений, а второй для отправленных ?
хотел так сделать, но именно тот лэйаут который я скинул - отображается справа в редакторе, а когда запихиваю в recycler - отображается слева
Сергій
Пытаюсь сделат авторизаци, в итоге метод authentication вызывается бесконечно. Что я не так делаю?
Сделай синхронное получение токена в этом интерцепторе. И зачем в конце ты вызываешь isDisposed? Если он возвращает просто флажок )
Anonymous
@desugar А как сделать синхронно?
Сергій
@desugar А как сделать синхронно?
@JohnnySC знает. rx же простой 🌝
Dmytro
да конечно
твоим способом точно не получится. Тебе нужно корневой элемент делать на всю ширину, а внутри уже играться. И не с гравити, а с весами, потому что, если текст большой, то он все равно должен быть справа или слева, а у тебя во всю ширину будет
Сергій
@desugar А как сделать синхронно?
Соответствующий скедулер задать
Anonymous
Scheduler.io?
Anonymous
А я думал что без шедулера, как раз таки синрлоноо и будет работать все, так как запускается то втекущем потоке
Сергій
Scheduler.io?
Я думаю что тебе определенно надо ещё почитать про rxJava
Anonymous
конкретнее что именно? какую тематику
Сергій
И второй вопрос, нафига в интерцепторе она там? 🤔
Anonymous
Ну мне надо токен обновить
Сергій
конкретнее что именно? какую тематику
С самого начала, подписка, отписка, какие есть скедулеры и чем они отличаются.
Anonymous
без ввода логина и пароля, там спец значения пеердаются в запрос, и получаем токен
Сергій
Ну мне надо токен обновить
Так интерцептор уже выполняется на экзекюторе okHttp )
Сергій
Там не UI thread
MD
конкретнее что именно? какую тематику
.subscribeOn(Schedulers.io()) .toBlocking() .value();
Сергій
(нет)
Сергій
Эй вы, кто вчера топил за rx. Помогайте парню 🌝
Anonymous
Дак а почему цикличность то работает?
Anonymous
Просто причем тут RX и вопрос про цикличность метода authenticator
Константин
Никто не признается
Anonymous
Есть их тут много, просто все заняты ;D
Anonymous
Потому что работают в больших кампаниях)
Константин
Для статистики?
Сергій
Просто причем тут RX и вопрос про цикличность метода authenticator
1. Убедись что код в интерцепторе синхронный 2. Проверь что ты получаешь и сохраняешь новый токен 3. Как-то мне не нравится что там возвращается null, но с апи authenticatator'a не знаком. Проверь и это.
Anonymous
@desugar А что нужно возвращять?
Сергій
@desugar А что нужно возвращять?
А что говорит документация? Ну ты же это писал, почему там нул а не что-то другое
Anonymous
ясн
Anonymous
спасиб
Anonymous
@desugar нашел способ через Credentials, но почему в доках написано что надо логин и пароль писать, при авторизации, ведь в андроид нельзя хранить логин и пароль, взломают же
Anonymous
Credentials
Сергій
Я не уловил
Сергій
@desugar нашел способ через Credentials, но почему в доках написано что надо логин и пароль писать, при авторизации, ведь в андроид нельзя хранить логин и пароль, взломают же
https://github.com/square/okhttp/wiki/Recipes#handling-authentication На userName и pass не смотри, это для примера. Тебе надо собрать через response.request().newBuilder() твой refreshToken эндпоинт на который пойдёт этот аутентификатор и получит новый токен. Дальше простой проверкой if (response.request().header("Authorization") != null) { return null; // Give up, we've already attempted to authenticate. } возвращаешь null чтобы аутентификатор прекратил попытки авторизации
Алексей
В продолжение моего утреннего вопроса: На данный момент я подписываюсь на обновления каждого изменения для нужных контактов (подпись вида content://com.android.contacts/$rowId (нужно, чтобы, например, из стандартного приложения котнактов обновления приходили) В Observer я получаю только uri вида content://com.android.contacts, то есть нет уточнений о том, какой контакт изменился Можно ли как-то узнать идентификатор контакта или ещё как-то его идентифицировать?
Alexander
Всем привет, пытался сделать, что бы элементы в listview реагировали на нажатия ,а точнее сделать из них кнопки, нашел в интернете такой код: listId.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> list, View v, int pos, long id) { // Your code for item clicks } }); Но как сделать его для каждого элемента listView ?
Alexander
Тоесть что бы для каждого элемента был свой код
Игорь
Ребята, обновил targetSdk и снизу на horizontal scrollView рисуется не нужный отступ. Как я понял это из-за метода setFillPort(true) Есть идеи?)
Alexander
Лучше сразу юзай recycleView, и проще и время сэкономишь
Да мне больше функционала и не надо, к тому же тaкой listview будет использоваться один раз
Dmytro
Да мне больше функционала и не надо, к тому же тaкой listview будет использоваться один раз
немного странная задача у тебя, в листВью как раз и храняться элементы при нажатии на которые выполняются похожие действия в зависимости от позиции. в твоей же случае, если ты знаешь порядок кнопок, до выполняй код в зависимости от позиции
Alexander
Я просто не знаю как использовать этот порядок, как обозначить кнопку 1,2 и т.д
Сергей
Если на каждый элемент отдельный метод, то можно создать модель и внутрь положить runnable
Сергей
Но если зависимость только от позиции и выполняется одинаковый код то делай switch(position)
Сергей
Ну или универсальный код, если логика позволяет сделать его
Alexander
сколько там кнопок и зачем их в лист пихать?
Элементы все вмещаются на экран их всего 5,при нажатии на элемент будет открываться другой класс.
Dmytro
Элементы все вмещаются на экран их всего 5,при нажатии на элемент будет открываться другой класс.
тогда нет смысла делать веб вью, делай просто кнопками отельными с одинаковым стилем
Alexander
Сергей
Class Someclass{ Runnable action; }
Сергей
Во вьюхолдер передаешь эту модель и вызываешь action.click в itemview.setonclicklistener
Vadim
Не у кого не было проблем с тем, что instabug неработает из-за play services ?
Vyacheslav
кто-то создавал Alpha тестирование в Dev Console ? может подскажите почему инвайт приходит, после подтверждания что Вы тестиоровщик приложение не видно в Play Store ?, может быть нужно больше времени ждать чтобы появилось ? мб кто-то знает какую-нибудь информацию ?