当我在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>
我只有正常的属性绑定到视图模型中的用户名,密码和登录按钮。我做了几件事来验证这种行为:
1。)我离开了bugsense初始化代码并从用户名中删除了Text绑定。在这种情况下,用户名将正常运行,但密码字段将始终将字符移动到每个文本条目后的第一个字符。
2.。)我重新实现了文本绑定到用户名字段,然后注释掉了BugSense初始化代码,一切似乎再次正常工作。
这里发生了什么?我应该在MVVMCross应用程序中进行BugSense初始化?