2013-04-05 45 views
5

Trong ứng dụng của tôi, tôi đang sử dụng văn bản tự động hoàn thành. Khi người dùng nhập t nó cho thấy Ba, Hai, năm mươi nhưng tôi muốn thể hiện Hai, Ba không năm mươi. Bất kỳ ai có thể giúp tôi giải quyết vấn đề này.Văn bản tự động hoàn thành trong android?

String search[] = {"one","two","three","four","five","six","seven","fifty"};  

ArrayAdapter<String> adp= new ArrayAdapter<String>(this,R.layout.searchtext, search); 
    search_item.setThreshold(1); 
    search_item.setAdapter(adp); 
+0

lý tưởng bạn bắn thiết lập các ngưỡng tới 2-3 không 1, điều này sẽ gây ra xuất hiện quá nhiều và lãng phí rất nhiều thời gian xử lý. – JoxTraex

+1

Bạn cần phải thực hiện tùy chỉnh của bạn adpter với bộ lọc – Pragnani

+0

@ Pragnani làm thế nào để sử dụng tùy chỉnh adpter với bộ lọc. – Yugesh

Trả lời

3

tôi không nghĩ rằng bạn phải tạo bộ điều hợp tùy chỉnh. chức năng mặc định của nó mà bạn muốn. kiểm tra này

đây tôi có mảng như:

private static final String[] COUNTRIES = new String[] { "Belgium", 
     "France", "France_", "Italy", "Germany", "Spain","abcf","FFa","FFb","bFF","aFF" }; 

khi tôi tìm kiếm ff sau đó nó đưa cho tôi chỉ 2("FFa","FFb") gợi ý không 4("FFa","FFb","bFF","aFF")

enter image description here

tôi đã sử dụng này trong ActionBar. bạn cũng có thể sử dụng điều này trong bố cục. vì bố cục tùy chỉnh của nó trong ActionBar.

public class TestActivity extends Activity { 

    /** Called when the activity is first created. */ 
    private static final String[] COUNTRIES = new String[] { "Belgium", 
     "France", "France_", "Italy", "Germany", "Spain","abcf","FFa","FFb","bFF","aFF" }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_main); 

     ActionBar actionBar = getActionBar(); 
     actionBar.setDisplayHomeAsUpEnabled(true); 
     actionBar.setDisplayShowCustomEnabled(true); 
     // actionBar.setDisplayShowTitleEnabled(false); 
     // actionBar.setIcon(R.drawable.ic_action_search); 

     LayoutInflater inflator = (LayoutInflater) this 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View v = inflator.inflate(R.layout.test, null); 

     actionBar.setCustomView(v); 

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_dropdown_item_1line, COUNTRIES); 
     AutoCompleteTextView textView = (AutoCompleteTextView) v 
       .findViewById(R.id.editText1); 
     textView.setAdapter(adapter); 

    } 
} 

test.xml

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

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Action Bar:" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textColor="#FFFFFF" /> 

    <AutoCompleteTextView 
     android:id="@+id/editText1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:imeOptions="actionSearch" 
     android:inputType="textAutoComplete|textAutoCorrect" 
     android:textColor="#FFFFFF" > 

     <requestFocus /> 
    </AutoCompleteTextView> 

</LinearLayout> 
Các vấn đề liên quan