2013-04-05 43 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>