2013-04-05 38 views
5

在我的應用程序中,我使用了自動完成文本。當用戶鍵入牛逼它顯示兩個,,但我想說明兩個沒有五十人。任何人都可以幫助我解決這個問題。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

最好你出手設置的閾值,以2-3不是1,這將導致出現太多,浪費了大量的處理時間。 – JoxTraex 2013-04-05 11:48:48

+1

你需要使用過濾器 – Pragnani 2013-04-05 11:49:22

+0

@Pragnani如何使用自定義adder與過濾器。 – Yugesh 2013-04-05 12:00:58

回答

3

我不認爲你必須創建自定義適配器。它的默認功能是你想要的。檢查這個

在這裏,我像數組:

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

當我搜索FF那麼它給我的只有2("FFa","FFb")建議不4("FFa","FFb","bFF","aFF")

enter image description here

我已經在動作條使用此。你也可以在佈局中使用它。因爲它在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>