在android中的autocompletetextview上完全展示了很长的建议

时间:2014-08-25 08:13:41

标签: android autocompletetextview

我在我的应用中使用了AutoCompleteTextView,其中显示了以下建议:

enter image description here

从图像中可以看出,有些建议未完全显示。屏幕的可见部分后面留有文字。我需要的是,当用户键入字符时,它应该显示建议,并且该建议必须完全显示在屏幕上作为选框,从一侧显示到另一侧。或者完全显示文字。这可能在AutoCompleteTextView吗?这是我的代码:

 actv1=(AutoCompleteTextView)rootView.findViewById(R.id.autoCompleteTextView1);
actv1.addTextChangedListener(new TextWatcher() {

             @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {

                 String filter = s.toString().toLowerCase();
                listItems = new ArrayList<String>();
                for (String listItem : loc) {
                    if (listItem.toLowerCase().contains(filter))
                    {
                        listItems.add(listItem);

                    }

                }
                if (listItems.size() < 1){

                Toast toast = Toast.makeText(getActivity().getApplicationContext(),
                        "No entries contain your search parameters",
                        Toast.LENGTH_SHORT);

                toast.show();

                }
                ArrayAdapter<String> adapt=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,listItems);
                actv1.setAdapter(adapt);
            //  actv1.setAdapter(new ArrayAdapter<String>(getActivity(),
                            //  android.R.layout.simple_list_item_1, listItems
                                //      .size()));
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
            }

            @Override
            public void afterTextChanged(Editable s) {
                 ArrayAdapter<String> adapt=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,listItems);
                actv1.setAdapter(adapt);
            }
        });

在我的xml部分我做了这样的事情:

<AutoCompleteTextView
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:ellipsize="end"
        android:maxLines="1"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:completionThreshold="1"
        android:textColor="@android:color/black"
        android:hint=" From:"
        android:drawableLeft="@drawable/location1a">

        <requestFocus />
    </AutoCompleteTextView>

1 个答案:

答案 0 :(得分:0)

这是custom_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<TextView 
    android:id="@+id/autoCompleteItem"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textSize="14sp"    
    />

 </LinearLayout>

这应该在你的代码中。

AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete);
ArrayAdapter<String> adapter  = new ArrayAdapter<String>(this, R.layout.custom_item, R.id.autoCompleteItem, StringArray);
textView.setAdapter(adapter);