在我的应用程序中,我使用的是自动完成文本。当用户键入 t 时,它显示三个两个五十个,但我想显示两个三个而不是五十个。谁能帮我解决这个问题。

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

最佳答案

我认为您不必创建自定义适配器。您想要的默认功能。检查这个

在这里我有像这样的数组:

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")
我已经在ActionBar中使用过此功能。您也可以在布局中使用它。因为它在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>

关于android - Android中的自动完成文字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15833149/

10-10 10:26