@xamarin_russia

Страница 374 из 619
Bonart
13.05.2018
21:06:28
Ну для кого первый язык можно взять из серии Head First, но дальше один фиг Рихтер, Скит, потом Симан

Kirill
13.05.2018
21:09:56
Pro C# 7 норм книга?

RAFFREE
13.05.2018
22:00:33
Google
prak
14.05.2018
07:25:19


Paul
14.05.2018
07:26:08
clean -xfd и ребилдни кор

Max
14.05.2018
07:26:44
Delete Bin/Obj Foldens => Rebuild Application

Kirill
14.05.2018
07:40:40
лови
Она получше?)

Alexander
14.05.2018
07:41:30
Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'System.Memory, Version=4.0.1.0 Гуголь говоорит что все дело в версии моно и нужно ждать новую. вы слышали что-нибудь об этом?

Alexander
14.05.2018
08:20:59
Delete bin/obj. Clean, rebuild solution?
нет, не помогает

Kirill
14.05.2018
08:34:32
https://github.com/xamarin/Xamarin.Forms/pull/2173 GestureRecognizers on a Span was finally merged. This was PR to add the functionality. Bindable Spans was also merged previously. These look scheduled for 3.1.0. Underline Labels and Span is still pending due to the PR author being on holiday, but looks like it should be sorted soon. https://github.com/xamarin/Xamarin.Forms/pull/2221

Max
14.05.2018
08:41:37
Кто-нибудь ловил Exception равный null? проверку на null компилятор выпиливает



Bonart
14.05.2018
08:42:21
А как это вообще возможно?

Alexander
14.05.2018
08:42:37
сегодня ловил в ios приложении

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

Google
Max
14.05.2018
08:42:57
А как это вообще возможно?
ну вот я ловлю наллреф, потому что пытаюсь Exception оттрейсить

Bonart
14.05.2018
08:43:11
сегодня ловил в ios приложении
Эти разработчики моно - большие затейники

Bonart
14.05.2018
08:44:34
.? - не фурычит?

Max
14.05.2018
08:45:05
.? - не фурычит?
да какая разница, компилятор считает, что проверка Execption на null не нужна и выпилывает при сборке

Bonart
14.05.2018
08:45:28
Компилятор прав, рантайм шуткует

prak
14.05.2018
09:11:27
Delete Bin/Obj Foldens => Rebuild Application
still not work anyway thank u, since xamarin form updated to .net standard it unknow MasterDetailPage ( InitializeComponent();)

Nikolai
14.05.2018
10:08:43
Может быть приколом дебаггера

vladimir
14.05.2018
10:11:43
У меня была подобная фигня, когда у меня было так: try { } catch (CustomException exception) { } catch (Exception exception) { } и IntelliSense подхватывал exception не тот, на который навёл, а другой проблема была в одноимённых переменных переименование решало проблему

баг VS походу

Alexander
14.05.2018
11:27:31
всем привет. кто-нибудь знает что-то про NestedScroll в XF на Android? мне нужно прописать android:nestedScrollingEnabled="true" (https://stackoverflow.com/a/25436990) в xml - но в какой именно?

vladimir
14.05.2018
11:30:55
это для Xamarin Android XML разметки, не для XF

какая вообще цель?

Google
Alexander
14.05.2018
11:34:49
какая вообще цель?
есть scrollview, внутри которого еще один scrollview... у вложенного, на дроиде, не работает прокрутка. гугл подсказал, что нужно включить NestedScroll

vladimir
14.05.2018
11:38:05
так

https://stackoverflow.com/a/37431966

Kirill
14.05.2018
11:38:15
так? https://stackoverflow.com/a/39659842
угу. Но вообще лучше не делать вложенные скроллящиеся элементы

Alexander
14.05.2018
12:14:47
и да, лучше так не делать, но выхода другого не было

@BOOMikru прям спасибище!!!

Кита
14.05.2018
12:21:34
угу. Но вообще лучше не делать вложенные скроллящиеся элементы
ну почему. есть CoordinatorLayout а в нем может быть android.support.v4.widget.NestedScrollView и можно делать хорошие штуки всякие

Alexander
14.05.2018
12:22:51
Для истории, код: [assembly: ExportRenderer(typeof(ScrollView), typeof(CustomScrollView))] namespace *имя_проекта*.Droid { public class CustomScrollView : ScrollViewRenderer { protected override async void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); this.NestedScrollingEnabled = true; } } }

мало ли, кому понадобится

ну почему. есть CoordinatorLayout а в нем может быть android.support.v4.widget.NestedScrollView и можно делать хорошие штуки всякие
Кита - я видел такие решения, но не понял, как их использовать. вроде бы какой-то xml нужно создать? а какой и где? можно больше информации?

vladimir
14.05.2018
12:25:25
ну почему. есть CoordinatorLayout а в нем может быть android.support.v4.widget.NestedScrollView и можно делать хорошие штуки всякие
ну scrollview внутри scrollview - это не то же самое, что и scrollview внутри coordinatorlayout

Кита - я видел такие решения, но не понял, как их использовать. вроде бы какой-то xml нужно создать? а какой и где? можно больше информации?
это если делать внешний вид отдельно для Android, но у вас Forms, вы разметку делаете общую для всех этот вариант вам не подходит

Кита
14.05.2018
12:27:47
Alexander
14.05.2018
12:28:02
а, понял, нейтив

Кита
14.05.2018
12:28:18
Олег
14.05.2018
13:54:32
всем привет. Хотел узнать, можно ли уже сейчас обновить vs до 15.7.1? Не стал обновляться до 0 версии, т.к. читал тут, что люди плюются на нее. Исправлены ли баги, скажите плз

Google
Artur
14.05.2018
14:03:14
Я обновился, проект полетел, захожу в параметры вкладка xamarin не работает)

Не обновляется пока

Олег
14.05.2018
14:03:50
нужно скачать кое-какие средства и компоненты, но он выбрасывает на банер "Чтобы продолжить, обновите Visual Studio Installer."

Олег
14.05.2018
14:05:02
ну инсталлер обновите, а vs - нет
а, окей, спасибо. Я думал, это инсталер и прога - все в одном.

Alexander
14.05.2018
14:06:15
а, окей, спасибо. Я думал, это инсталер и прога - все в одном.
советую перед такими мероприятиями делать бэкап системы имеющимися средствами

Олег
14.05.2018
14:06:41
понял, спасибо!

Anastasiia
14.05.2018
14:10:45
Здравствуйте, возникла проблема с использованием SignalR в Xamarin Forms. В главном меню приложения есть кнопка, ведущая на страницу (await Navigation.PushAsync(new Page())), где должно быть осуществлено подключение к серверу. На странице есть лейбл, в котором должно отобразиться "{username} подключился" после вызова onConnected с сервера. И вроде все работает, но текст меняется ТОЛЬКО когда я нажимаю кнопку возвращения на предыдущую страницу (мелькает быстренько, и все закрывается). После чего все страницы в главном меню при переходе становятся пустыми или вылезает исключение. Что я делаю не так?





RAFFREE
14.05.2018
14:17:29
попробуй так Activity.RunOnUiThread(() => { connectionLabel.Text = string.Format(... });

vladimir
14.05.2018
14:18:57
это Forms там надо Device.InvokeOnMainThread(() => { });

кстати, зря делаете async-await в OnAppearing - это же UI поток тем более OnAppearing может вызываться несколько раз (свернул, развернул приложение) лучше в конструктор страницы вставьте Task.Run(LoadData); и сделайте отдельный метод async Task LoadData() { }

Anastasiia
14.05.2018
14:25:02
Спасибо, все работает :)

vladimir
14.05.2018
14:26:17
UI же застынет, пока будут данные ожидаться

Кита
14.05.2018
14:26:23
LoadData же. в этом методе никто не оперирует UIинстансами

Google
Кита
14.05.2018
14:27:11
создастся таск и в нем все выполнится

vladimir
14.05.2018
14:27:38
где создаться?

Кита
14.05.2018
14:27:58
Конкретно в этом примере HubConnection создастся в UI потоке ещё

vladimir
14.05.2018
14:29:48
а как же await hubConnection.Start() - не заморозит UI? оно же будет ожидать его

vladimir
14.05.2018
14:31:24
ну и что? оно будет его ожидать в UI потоке в любом случае

Kirill
14.05.2018
14:32:58
ну и что? оно будет его ожидать в UI потоке в любом случае
Почитай как работает async await. По факту запустится таск, метод завершится, после завершения таска начнет выполняться другой метод в ui потоке, с содержимым после await. Грубо гоовря так.

Кита
14.05.2018
14:39:31
public void Start<TStateMachine>(ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine { // See comment on AsyncMethodBuilderCore.Start // AsyncMethodBuilderCore.Start(ref stateMachine); if (stateMachine == null) throw new ArgumentNullException("stateMachine"); Contract.EndContractBlock(); // Run the MoveNext method within a copy-on-write ExecutionContext scope. // This allows us to undo any ExecutionContext changes made in MoveNext, // so that they won't "leak" out of the first await. ExecutionContextSwitcher ecs = default(ExecutionContextSwitcher); RuntimeHelpers.PrepareConstrainedRegions(); try { ExecutionContext.EstablishCopyOnWriteScope(ref ecs); stateMachine.MoveNext(); } finally { ecs.Undo(); } }

Короче в любом случае запустится AsyncTaskMethodBuilder

У него есть метод Start

на stateMachine.MoveNext(); запустится таск

Но главное как раз в том что до запуска таска ты находишься в UI потоке у которого есть доступ к UIконтексту, во время выполнения stateMachine.MoveNext(); ты выходишь из UI потока, а потом возвращаешься обратно. Короче разницы практически никакой нет(за исключением одного нюанса) public async override void OnAppearing()//запуск из UI потока { await LoadData(); } что public override void OnAppearing()//запуск из UI потока { LoadData(); } где LoadData это Task

Pavel
14.05.2018
14:54:35
меня в джуновстве лупили за async void

хотя иногда приходится так делать

Кита
14.05.2018
14:55:35
меня в джуновстве лупили за async void
ну в верхнем стэке вызовов - норм. Потом только Task. Да и по-другому не выйдет

И правила именования ещё если async void метод то лучше в конце помечать что он Async например

Bonart
14.05.2018
14:56:37
Там исключение процесс ушатает, в отличие от Task

Кита
14.05.2018
14:57:16
Там исключение процесс ушатает, в отличие от Task
ну вот этот нюанс я и имел в виду

Bonart
14.05.2018
14:58:33
А еще лучше вместо Task использовать Task<Unit> - и не надо о Task без обобщения думать

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