我有以下AutoCompleteTextView
:
<AutoCompleteTextView
android:id="@+id/contact_list_auto_complete_text_view"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:enabled="false"
android:hint=" Enter number"
android:singleLine="true"
android:textSize="20sp" >
</AutoCompleteTextView>
该
AutoCompleteTextView
的输入是通过我创建的“拨号程序”布局完成的,因此该AutoCompleteTextView
是android:enabled="false"
,为了在我的AutoCompleteTextView
上添加用户输入,我使用以下代码: String mText =_searchAutoCompleteTextView.getText().toString()+_dialer_digits[position]; //the digit the user clicked upon
_searchAutoCompleteTextView.setText(mText);
_searchAutoCompleteTextView.performCompletion();
if(_searchAutoCompleteTextView.getText().toString().length()>2 && _searchAutoCompleteTextView.getAdapter().getCount()> 0)
{
_searchAutoCompleteTextView.showDropDown();
}
除了一个奇怪的问题,一切都工作正常:
由于输入不是由设备的键盘完成的,而是由我的拨号器使用
setText()
完成的,因此,如果用户单击的位数超过了AutoCompleteTextView
的大小,则最后一位数字将被破坏,并且在继续输入更多数字的同时, AutoCompleteTextView
不会向左滚动。奇怪的是,我尝试启用它,并从设备的键盘输入一些长输入,使其工作正常,长文本未中断且正在滚动。由于我无法使用设备的键盘,因此必须通过布局和setText()
完成非常感谢
编辑:
这是一个屏幕截图:
最佳答案
您可以使用append而不是setText将光标移到末尾。
关于android - 文本长于 View 大小的AutoCompleteTextview singleLine setText()会导致单词断裂,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24053739/