MVVMCross с Bugsense вызывает странные проблемы с привязкой EditText на Android
Я столкнулся с очень странной ситуацией, когда я установил пакет BugSense в своем приложении MVVMCross. Каждый раз, когда я набираю букву в EditText, курсор перемещается к первому символу. Это очень раздражает, так как мне нужно перейти к концу поля, чтобы ввести следующий символ!
Что я сделал, так это переопределил "OnCreate" моего SplashScreenView. Я настроил это:
protected override void OnCreate(Bundle bundle)
{
BugSenseHandler.Instance.InitAndStartSession(new ExceptionManager(), ApplicationContext, "xxxxxxxx");
base.OnCreate(bundle);
}
Когда мой экран-заставка исчезает, он переходит к моей LoginViewModel. Мой axml для моего вида входа выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/white_full_box">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="false"
android:layout_centerInParent="true"
android:layout_marginBottom="@dimen/table_margin"
android:layout_marginLeft="@dimen/table_margin"
android:layout_marginTop="@dimen/dialog_margin"
android:padding="@dimen/zero"
android:background="@drawable/white_full_box">
<EditText
android:id="@+id/username"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/password"
android:layout_centerHorizontal="true"
android:layout_marginBottom="40dp"
android:ems="10"
android:hint="username"
android:layout_marginLeft="@dimen/table_margin"
android:inputType="textVisiblePassword"
android:singleLine="true"
local:MvxBind="Text UserName">
<requestFocus />
</EditText>
<EditText
android:id="@+id/password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:ems="10"
android:hint="password"
android:layout_marginLeft="@dimen/table_margin"
android:inputType="textPassword"
local:MvxBind="Text Password" />
<Button
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/password"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:layout_marginRight="@dimen/dialog_margin"
android:text="Login"
style="@style/ButtonStyle"
local:MvxBind="Click LoginCommand" />
</RelativeLayout>
</RelativeLayout>
И у меня просто есть нормальные свойства, которые привязываются к имени пользователя, паролю и кнопке входа в модели представления. Я сделал пару вещей, чтобы проверить это поведение:
1.) Я оставил код инициализации bugsense и удалил привязку текста из имени пользователя. В этом случае имя пользователя будет вести себя правильно, но поле пароля всегда будет перемещать символ на первый символ после каждой текстовой записи.
2.) Я переопределил привязку текста к полю имени пользователя, а затем закомментировал код инициализации BugSense, и все снова заработало правильно.
Что здесь происходит? Где я должен делать инициализацию BugSense в приложении MVVMCross?
1 ответ
Мое решение состояло в том, чтобы переключиться на Raygun.io, потому что у этого, кажется, нет той же самой проблемы.
Bugsense, похоже, изучает проблему, которой вы можете следовать ЗДЕСЬ