@xamarin_russia

Страница 430 из 619
Vlad
19.06.2018
09:43:07
Там идёт рендер ListView, в который я кидаю адаптер, то есть Control.Adapter = new CustomAdapter();

ListView или RecyclerView? для картинок вообще Glide лучше использовать, особенно в списках
Я Glide пробовал. Мне он немного не подходит. Я отдаю картинки в base64? А там только загрузка по url, ну или я чего-то не нашел?

vladimir
19.06.2018
09:44:38
отдаёте, всмысле?

Vlad
19.06.2018
09:45:35
Ну картинки с сервера ведь приходят Я их храню в БД, в base64. Вот и запрашиваю у него картинки, а он мне их отдает ? Сервер я сам писал

Google
vladimir
19.06.2018
09:45:54
ну то есть получаете картинки в base64?

vladimir
19.06.2018
09:46:37
?

а кэшировать картинки пробовали?

Vlad
19.06.2018
09:48:01
а кэшировать картинки пробовали?
Сохранять их на устройство?

vladimir
19.06.2018
09:48:09
да

Vlad
19.06.2018
09:48:52
да
Было как-то дело. Но потом чёт решил отказаться. Может сейчас снова вернусь к этому?

vladimir
19.06.2018
09:54:07
был даже удобный nuget, в котором можно было сохранять в temp, и оно потом само там очищалось

https://github.com/PCLExt/PCLExt.FileStorage

var rootFolder = new TempRootFolder();

Vlad
19.06.2018
09:55:08




Просто вот что получается. Первое фото - это вот только все загрузилось. А второе, это когда я пролистал вверх и вернулся обратно. И все, не те картинки уже...

Google
vladimir
19.06.2018
09:56:55
какая-то фигня с переиспользованием ячеек

вы похожу что-то в адаптере напутали

Vlad
19.06.2018
09:57:41
Так когда листаешь вниз, первый раз, то оно нормально ставит картинки?

vladimir
19.06.2018
09:58:44
ну так вниз листая, новые ячейки создаются, а обратно - переиспользуются а хотя, если текста верные остаются, тогда странно

нужно реализацию смотреть

vladimir
19.06.2018
10:03:43
попробуйте RecyclerView вместо ListView

Vlad
19.06.2018
10:04:29
Artem
19.06.2018
10:29:06
Так плагин это не отдельная штука системы, а так же часть твоего приложения. И так же ему система рубит подключение по http
public static async Task<bool> CheckConnection(string server) { bool res = false; var match = Regex.Match(server, @"\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\b"); string ip = match.Captures[0].ToString(); res = await CrossConnectivity.Current.IsReachable(ip); return res; }

Kirill
19.06.2018
10:29:37
так я проверяю доступность ип адреса
Пропиши флаг в плисте и проверь

Artem
19.06.2018
10:40:20
Пропиши флаг в плисте и проверь
CrossConnectivity эта вот игня все равно фолс возвращает, но судя по стаутсу сингалр коннекшена подключиться удалось.

Олег
19.06.2018
10:47:59
Всем привет. Ребят, вопрос про навибар в формсе. При использовании мастер-детейл, у андроидов ставится гамбургер. При навигации стрелка. У айфонов там надпись, в последующем стрелка. Я понял, что малыми силами можно эту надпись поменять на картинку гамбургера, используя TitleImage, но лучше написать свой кастомный навибар. Есть у кого-нибудь гайд или мануал погрызть на эту тему? Ну и еще, если не писать пока свой навибар, есть возможность из коробки поменять цвет бургера и стрелок? Такое нашел только для фона и для текста в баре.

Олег
19.06.2018
10:58:28
Спасибо, Кирилл!

Mark
19.06.2018
11:24:23
Добрый день. Может кто нибудь подсказать по ContentProperty? У меня есть page, где примерно такая разметка <custom:Container> <Label Text="123" /> </custom:Container> И сам контейнер [ContentProperty("Container")] public class ContainerWithShadow : ContentView { public View Container { get; set; } } но почему-то Container всегда null.

vladimir
19.06.2018
11:32:27
(я бред написал)

Mark
19.06.2018
11:46:38
Должен быть BindableProperty
Спасибо Вам большое!

Artem
19.06.2018
11:55:56
Google
An
19.06.2018
12:03:20
System.ObjectDisposedException: Cannot access a disposed object. Object name: 'Xamarin.Forms.Platform.Android.TextCellRenderer+TextCellView'. Получаю ошибку, у меня 2 страницы с ListView при переходе между ними получаю ошибку

Никак не могу изольровать где она, добавл отмену тасок на загрузку - не сработало

Есть еще советы?

Max
19.06.2018
12:06:01
Есть еще советы?
ты где-то обращаешься к selecteditem?

An
19.06.2018
12:07:16
Ну да, первый раз из selecteditem перехожу на 2 список, но потом сразу нажимаю на стрелку назад и получаю ошибку, данные еще не успели подгрузиться

Вот если подождать - все ок

Если не пождаться таски, которая в конструкторе создается, то все - ошибка

Сорян за вброс, отмена таски как раз и решает

Александр
19.06.2018
12:40:24
Ребят, при регистрации учетки разработчика Apple от организации у вас просят указать Tax ID/National ID. что это такое?

Denis
19.06.2018
12:44:35
ИНН

А вот с DUNS у тебя больше вопросов будет )))

Александр
19.06.2018
12:50:05
А вот с DUNS у тебя больше вопросов будет )))
Я вроде бы всё заполнил и отправил. Жду подтверждения. DUNS они написали что это, а TaxID не понятно было.

Sasha
19.06.2018
13:00:29
Всем привет, посоветуйте как мне десериализировать сложный объект типа такого как на рисунке



Alexey
19.06.2018
13:09:03
https://www.newtonsoft.com/json

class AddressComponent { [JsonProperty("long_name")] public string LongName; [JsonProperty("short_name")] public string ShortName; } class RequestResult { [JsonProperty("address_components")] public List<AddressComponent> AddressComponents; } try { var obj = JsonConvert.DeserializeObject<RequestResult>(json); } catch(JsonSerializationException) { throw new JsonParseErrorException(); } catch(JsonReaderException) { throw new JsonParseErrorException(); }

Примерно как-то так, думаю дальше понятно по образу и подобию как это делается

Sasha
19.06.2018
13:12:47
Мне интересно есть ли какой-либо способ чтобы не прописывать каждый класс свойство а затем вызвать JsonConvert.DeserializeObject <T>, возможно как-то осуществлять поиск не вызывая код выше?

общий ответ занимает 390 строчек, и это займет много времени прописывать то все

Google
Sovent
19.06.2018
13:22:53
да, у этой же библиотеки есть JObject

и десериализация в анонимный класс

и, скорее всего, десериализация в dynamic

но всё это, по сути, второстепенные решения. если ты используешь высокоуровневый статически типизированный язык, то очень странно иметь неприязнь к написанию классов

Alexey
19.06.2018
13:26:27
Все так, да, лучше заморочится и прописать. Иначе вообще непонятно зачем ты тогда апп на C# пишешь, а не на js под native/cordova ?

Sovent
19.06.2018
13:26:45
общий ответ занимает 390 строчек, и это займет много времени прописывать то все
в смысле "всё"? у тебя массив объектов, тебе не нужно для каждого элемента класс писать

Sasha
19.06.2018
13:31:19
в смысле "всё"? у тебя массив объектов, тебе не нужно для каждого элемента класс писать
То есть достаточно прописать только определенную часть ту что мне нужна?

vladimir
19.06.2018
13:33:17
общий ответ занимает 390 строчек, и это займет много времени прописывать то все
все свойства не обязательно прописывать, можете только те, которые вам нужны

Admin
ERROR: S client not available

vladimir
19.06.2018
13:33:29
а, вам написали

Sovent
19.06.2018
13:34:58
при десериализации объектов нужно прописать "схему", которая удовлетворяет двум условиям 1) содержит нужные тебе данные 2) в неё можно корректно десериализовать то, что тебе пришло

Sasha
19.06.2018
13:35:14
Ооо, понял, спасибо) Я думал что это надо делать полное описание всех свойств

Sasha
19.06.2018
13:36:20
вот тут пример
Понял, спасибо

Max
19.06.2018
13:37:13
если оно падает, оно падает

внутри и никак не отловить

vladimir
19.06.2018
13:38:36
ещё как вариант, можно создать свой JsonConverter и у него в методе override object ReadJson JObject jobject = JObject.Load(reader); var jobject["json_property"].ToObject<MyType?);

Max
19.06.2018
13:38:41
по крайней мере месяц назад не спасало

Alexander
19.06.2018
13:54:29
что лучше использовать для XF, общий проект или NET standard?

Google
Max
19.06.2018
13:55:22
это одно и тоже

vladimir
19.06.2018
13:57:16
может имеется в виду Shared, который компилируется как дополнение в каждом проекте, а не как отдельная библиотека

для игор Shared хорошо подходит

vladimir
19.06.2018
13:59:11
это к XF не особо относится

Max
19.06.2018
13:59:17
да я понимаю

там теряется возможность ставить nuget

и ставишь nuget отдельно в нативные

и вызываешь нативные

ну мейби сойдет

vladimir
19.06.2018
13:59:48
никогда не использовал его
если использовать OpenGL бэкэнд в сыром виде, то без такого подхода никак

Max
19.06.2018
13:59:53
но код растет как на дрожжах

vladimir
19.06.2018
14:00:25
не костыль вообще

там теряется возможность ставить nuget
ничего не теряется nuget ставишь в платформенный проект и он видим в общем проекте

Max
19.06.2018
14:02:44
ничего не теряется nuget ставишь в платформенный проект и он видим в общем проекте
да, только вот у тебя пакеты в нативных реализациях отличаются

vladimir
19.06.2018
14:02:52
по сути Shared проект, это как partial class

Max
19.06.2018
14:02:55
да

Страница 430 из 619