AutoCompleteTextview singleLine setText()文本长于视图大小将导致文字损坏

时间:2014-06-05 07:06:05

标签: android autocompletetextview

我有以下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的输入是通过我创建的“拨号器”布局完成的,因此AutoCompleteTextViewandroid:enabled="false"并且为了在{{{}}上添加用户输入1}}我使用以下代码:

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

完成

非常感谢

编辑:

这是一个截屏: My dialer layout with broken digit at the end

3 个答案:

答案 0 :(得分:1)

您可以使用append而不是setText将光标移动到最后。

答案 1 :(得分:0)

我不确定这是否有效,但您是否尝试将AutoCompleteTextView放入Horizo​​ntalScrollView?

<HorizontalScrollView android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <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>

</HorizontalScrollView>

你能提供一个屏幕截图,以便我能更好地理解你所遇到的问题吗?

答案 2 :(得分:0)

您需要将AutocompleteTextVIew的Gravity设置为右:

<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:gravity="right"
            android:textSize="20sp" >
    </AutoCompleteTextView>