MVVMCross w/ Bugsense在Android上绑定EditText会导致奇怪的问题



当我在MVVMCross应用程序上安装BugSense包时,我遇到了一个非常奇怪的情况。每次我在EditText中键入一个字母时,光标都会移动到第一个字符。这是非常恼人的,因为我必须箭头到字段的末尾键入下一个字符!

我所做的是在我的SplashScreenView的"OnCreate"的覆盖上,我设置了这个:

    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>

我只有普通的属性绑定到视图模型中的Username Password和Login按钮。我做了几件事来验证这个行为:

1)。我留下了bugsense初始化代码,并从用户名中删除了Text绑定。在这种情况下,用户名将正常运行,但密码字段将始终将字符移动到每个文本输入后的第一个字符。

2)。我重新实现了文本绑定到用户名字段,然后注释掉了BugSense初始化代码,一切似乎又正常工作了。

这是怎么回事?我应该在哪里做一个MVVMCross应用程序的bug感知初始化?

我的解决方案是切换到Raygun。

Bugsense似乎正在调查这个问题,你可以跟随这里

相关内容

  • 没有找到相关文章

最新更新