Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 光标移动到输入文本的左侧,而不是蜂窝上的右侧_Android_Android Edittext_Android 3.0 Honeycomb - Fatal编程技术网

Android 光标移动到输入文本的左侧,而不是蜂窝上的右侧

Android 光标移动到输入文本的左侧,而不是蜂窝上的右侧,android,android-edittext,android-3.0-honeycomb,Android,Android Edittext,Android 3.0 Honeycomb,这是一种奇怪的问题。我们正在使用的EditText控件之一是将光标移动到键入文本的左侧,而不是右侧。这只发生在蜂巢上,姜饼上的相同代码工作正常,并且只发生在这个特定的EditText控件中,并且只发生在您第一次开始键入时。有什么想法吗 <EditText android:id="@+id/preview_range_edit" android:layout_width="fill_parent" android:layout_height="wrap_content"

这是一种奇怪的问题。我们正在使用的EditText控件之一是将光标移动到键入文本的左侧,而不是右侧。这只发生在蜂巢上,姜饼上的相同代码工作正常,并且只发生在这个特定的EditText控件中,并且只发生在您第一次开始键入时。有什么想法吗

<EditText android:id="@+id/preview_range_edit"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:digits=",-0123456789"
    android:maxLines="1" 
    android:singleLine="true"
    android:layout_toRightOf="@id/preview_range_txt"
    android:layout_toLeftOf="@id/preview_range_radio"
    android:layout_centerVertical="true"/>

经过一些额外的测试后,我发现这只是一个问题,如果设备是纵向的,而不是横向的。

所以我找到了答案,与我的布局无关。EditText控件数据处理的一部分是调用notifyDataSetChange,该控件将焦点从EditText控件移开,然后返回,但返回时错误地重置了光标。这可能是操作系统中的一个bug。我的解决方法是在EditText控件中添加一个OnFocusChangeListener,在焦点丢失时存储光标,在焦点返回时恢复光标。

因此我找到了答案,与我的布局无关。EditText控件数据处理的一部分是调用notifyDataSetChange,该控件将焦点从EditText控件移开,然后返回,但返回时错误地重置了光标。这可能是操作系统中的一个bug。我的解决方法是在EditText控件中添加一个OnFocusChangeListener,在焦点丢失时存储光标,在焦点返回时恢复光标