Когда я применить заглушки преобразователь к TextView он ломает привязки как-тоMvxValueConverter ломает привязки
Вот TextView с окантовкой
<EditText
android:id="@+id/etAutoNumber"
android:layout_width="fill_parent"
android:textSize="34sp"
android:capitalize="characters"
android:hint="50 АА 101101"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="16dp"
android:layout_height="wrap_content"
android:textColor="@color/primary_text"
android:maxLength="12"
local:MvxBind="Text DocumentFormatter(Number)"
android:imeOptions="actionGo"
android:inputType="textPostalAddress" />
Вот конвертер применением: local:MvxBind="Text DocumentFormatter(Number)"
Вот конвертер, это в принципе сделать ничего, оно расположено в .Droid Project
public class DocumentFormatterValueConverter : MvxValueConverter
{
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Mvx.Trace("convert for {0}", value);
return base.Convert(value, targetType, parameter, culture);
}
}
Если я переопределяю ConvertBack, я получаю новую строку из TextView to Converter, но привязка все еще отсутствует.
Вот ViewModel недвижимость:
public string Number
{
get { return _number; }
set
{
_number = value;
RaisePropertyChanged(() => Number);
// some additional work
// ...
}
}
Если я заменить связывание с местным: MvxBind = «Текст Количество» он отлично работает, если я использую конвертер - он работает один раз: я установить Number=String.Empty
в Init и он вызывает конвертер раз
Вот пример вывода журнала из Init в GoCommand
mvx:Diagnostic: 5,24 TrackerService.LogEvent Init.ViewAuto
01-07 16:18:48.844 I/mono-stdout(2442): mvx:Diagnostic: 5,24 TrackerService.LogEvent Init.ViewAuto
[0:] mvx:Diagnostic: 5,24 TrackerService.LogEvent Init.ViewAuto
[0:]
MvxBind:Error: 5,40 View type not found - android.support.v7.widget.Toolbar
01-07 16:18:49.025 I/mono-stdout(2442): MvxBind:Error: 5,40 View type not found - android.support.v7.widget.Toolbar
[0:] MvxBind:Error: 5,40 View type not found - android.support.v7.widget.Toolbar
01-07 16:18:49.121 D/Mono (2442): Assembly Ref addref Cirrious.MvvmCross.Binding[0xac371880] -> System.Threading[0xac3fe340]: 7
01-07 16:18:49.146 D/Mono (2442): Assembly Ref addref Cirrious.CrossCore[0xac3718e0] -> System.ObjectModel[0x9f6a1760]: 5
01-07 16:18:49.153 D/Mono (2442): Assembly Ref addref Cirrious.MvvmCross[0xac371b20] -> System.Threading[0xac3fe340]: 8
[0:]
mvx:Diagnostic: 5,56 convert for
[0:] mvx:Diagnostic: 5,56 convert for
01-07 16:18:49.169 I/mono-stdout(2442): mvx:Diagnostic: 5,56 convert for
Resolved pending breakpoint at 'c:\Users\...\EnterFirstAutoViewModel.cs:23,1' to void EnterFirstAutoViewModel.<DoGoCommand>d__0.MoveNext() [0x0001e].
01-07 16:19:03.837 D/Mono (2442): Assembly Ref addref Fines.Core[0x9f63b1c0] -> System.Diagnostics.Debug[0x9f63bc40]: 2
01-07 16:19:03.837 D/Mono (2442): Assembly Ref addref System.Diagnostics.Debug[0x9f63bc40] -> mscorlib[0xac3714c0]: 30
01-07 16:19:14.032 D/Mono (2442): Assembly Ref addref Chance.MvvmCross.Plugins.UserInteraction.Droid[0xac3715e0] -> Cirrious.CrossCore.Droid[0xac371820]: 6
мне удалось получить гораздо более подробный вывод на 4.0.4 устройства
mvx:Diagnostic:211,37 TrackerService.LogEvent Init.ViewAuto
[0:] mvx:Diagnostic:211,37 TrackerService.LogEvent Init.ViewAuto
01-07 16:39:24.929 I/mono-stdout(3848): mvx:Diagnostic:211,37 TrackerService.LogEvent Init.ViewAuto
01-07 16:39:24.947 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:24.947 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:24.947 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:24.947 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:24.948 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:24.948 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:24.948 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:24.949 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:24.949 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:24.949 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
[0:]
mvx:Diagnostic:211,91 convert for: .
[0:] mvx:Diagnostic:211,91 convert for: .
01-07 16:39:25.469 I/mono-stdout(3848): mvx:Diagnostic:211,91 convert for: .
01-07 16:39:25.474 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:25.474 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:25.474 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:25.475 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:25.475 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:25.489 D/ActivityThread(3848): ACT-AM_ON_RESUME_CALLED ActivityRecord{418fb640 [email protected] {...app/...droid.views.EnterFirstAutoView}}
01-07 16:39:25.492 D/ActivityThread(3848): ACT-LAUNCH_ACTIVITY handled : 0/ActivityRecord{418fb640 [email protected] {...app/...droid.views.EnterFirstAutoView}}
01-07 16:39:25.494 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:25.525 D/OpenGLRenderer(3848): Flushing caches (mode 0)
01-07 16:39:25.566 V/TextView(3848): onSpanRemoved s=0 e=0 [email protected]:
01-07 16:39:25.566 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:25.594 W/IInputConnectionWrapper(3848): showStatusIcon on inactive InputConnection
01-07 16:39:25.608 D/ActivityThread(3848): ACT-DESTROY_ACTIVITY handled : 1/[email protected]
01-07 16:39:25.612 D/ActivityThread(3848): ACT-DESTROY_ACTIVITY handled : 1/[email protected]
01-07 16:39:28.261 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:28.344 V/TextView(3848): onSpanRemoved s=0 e=0 [email protected]:
01-07 16:39:28.467 V/TextView(3848): onSpanRemoved s=0 e=0 [email protected]:
01-07 16:39:28.467 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:29.844 V/TextView(3848): onSpanAdded s=0 e=0 [email protected]:
01-07 16:39:29.844 V/TextView(3848): beforeTextChanged start=0 before=0 after=1:
01-07 16:39:29.844 V/TextView(3848): onTextChanged start=0 before=0 after=1: 1
01-07 16:39:29.844 V/TextView(3848): afterTextChanged: 1
01-07 16:39:29.845 V/TextView(3848): onSpanAdded s=0 e=1 [email protected]: 1
01-07 16:39:30.089 V/TextView(3848): onSpanChanged s=0 e=0 st=1 en=1 [email protected]: 1
01-07 16:39:30.090 V/TextView(3848): beforeTextChanged start=1 before=0 after=1: 1
01-07 16:39:30.090 V/TextView(3848): onTextChanged start=1 before=0 after=1: 12
01-07 16:39:30.090 V/TextView(3848): afterTextChanged: 12
01-07 16:39:30.091 V/TextView(3848): onSpanChanged s=0 e=1 st=1 en=2 [email protected]: 12
01-07 16:39:30.295 V/TextView(3848): onSpanChanged s=1 e=1 st=2 en=2 [email protected]: 12
01-07 16:39:30.295 V/TextView(3848): beforeTextChanged start=2 before=0 after=1: 12
01-07 16:39:30.296 V/TextView(3848): onTextChanged start=2 before=0 after=1: 123
01-07 16:39:30.296 V/TextView(3848): afterTextChanged: 123
01-07 16:39:30.297 V/TextView(3848): onSpanChanged s=1 e=2 st=2 en=3 [email protected]: 123
01-07 16:39:30.926 V/TextView(3848): onSpanChanged s=2 e=2 st=3 en=3 [email protected]: 123
01-07 16:39:30.926 V/TextView(3848): beforeTextChanged start=3 before=0 after=1: 123
01-07 16:39:30.926 V/TextView(3848): onTextChanged start=3 before=0 after=1: 1234
01-07 16:39:30.927 V/TextView(3848): afterTextChanged: 1234
01-07 16:39:30.927 V/TextView(3848): onSpanChanged s=2 e=3 st=3 en=4 [email protected]: 1234
01-07 16:39:31.141 V/TextView(3848): onSpanChanged s=3 e=3 st=4 en=4 [email protected]: 1234
01-07 16:39:31.141 V/TextView(3848): beforeTextChanged start=4 before=0 after=1: 1234
01-07 16:39:31.141 V/TextView(3848): onTextChanged start=4 before=0 after=1: 12345
01-07 16:39:31.141 V/TextView(3848): afterTextChanged: 12345
01-07 16:39:31.142 V/TextView(3848): onSpanChanged s=3 e=4 st=4 en=5 [email protected]: 12345
01-07 16:40:16.717 V/BaseInputConnection(3848): finishComposingText
01-07 16:40:16.725 V/TextView(3848): onSpanRemoved s=0 e=5 [email protected]: 12345
01-07 16:40:16.725 V/TextView(3848): onSpanAdded s=0 e=5 [email protected]: 12345
Я понятия не имею, что может вызвать такие ошибки, может ли кто-нибудь мне помочь?
Есть ли в журнале приложения журналы, указывающие на ошибку? Пожалуйста, добавьте журнал в проблему, чтобы мы могли посмотреть на него. Также я бы рекомендовал использовать типы для вашего конвертера, чтобы убедиться, что вы установили правильный тип в «Bind Text». Пример: DocumentFormatterValueConverter: MvxValueConverter –
Martijn00
@Martijn Я добавил журнал с выхода, но там ничего необычного нет. Да, я знаю об общем конвертере, я обычно использую только их, но здесь я использую простой конвертер для упрощения этого примера. – xakz
Вы можете исправить ошибку на панель инструментов, добавив в свой андроид setup.cs: защищено переопределение IList AndroidViewAssemblies \t \t { \t \t \t получить \t \t \t { \t \t \t \t вара сборки = base.AndroidViewAssemblies; \t \t \t \t assemblylies.Add (типof (Android.Support.V7.Widget.Toolbar) .Сборка); \t \t \t \t assemblylies.Add (типof (Android.Support.V4.Widget.DrawerLayout).Ассамблеи); \t \t \t \t возвратные сборки; \t \t \t} \t \t} (Это просто Sidenote) –
Martijn00