Android 自动完成文本字段

Android 自动完成文本字段,android,autocomplete,android-edittext,textview,Android,Autocomplete,Android Edittext,Textview,在我的应用程序中,我有一个场景,我想向用户显示所需的数字范围,这些数字将是动态的,比如说1,2,3或某个时间,1,2或某个时间1,2,3,4,5我希望用户从我给定的范围中选择一个数字。所以我不希望用户通过键入数字来填充。请告诉我如何实现这一点,以及如何控制自动完成文本视图中的数字范围 或者这是什么替代品。请记住,我有Edittext,在该Edittext中,我希望用户选择数字,而不仅仅是输入数字 为什么不使用旋转器?我认为对你来说,这更有效。 可以将EditText更改为微调器,并使用其适配器以

在我的应用程序中,我有一个场景,我想向用户显示所需的数字范围,这些数字将是动态的,比如说1,2,3或某个时间,1,2或某个时间1,2,3,4,5我希望用户从我给定的范围中选择一个数字。所以我不希望用户通过键入数字来填充。请告诉我如何实现这一点,以及如何控制自动完成文本视图中的数字范围


或者这是什么替代品。请记住,我有Edittext,在该Edittext中,我希望用户选择数字,而不仅仅是输入数字

为什么不使用旋转器?我认为对你来说,这更有效。 可以将EditText更改为微调器,并使用其适配器以编程方式更改范围

编辑:

这里是您必须插入的元素,而不是edittext

<Spinner android:id="@+id/spinner"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"/>

然后,在活动/片段代码中:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1);
spinner.setAdapter(adapter);

// Here add the range of numbers. For example:
for (int i = 0; i < 5; i++) {
    adapter.add(Integer.toString(i));
}
Spinner-Spinner=(Spinner)findViewById(R.id.Spinner);
ArrayAdapter=newArrayAdapter(getApplicationContext(),android.R.layout.simple\u list\u item\u 1);
旋转器。设置适配器(适配器);
//在这里添加数字范围。例如:
对于(int i=0;i<5;i++){
add(Integer.toString(i));
}
您可以在布局中使用:

XML代码

<AutoCompleteTextView android:id="@+id/EdtSearch"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"/>
AutoCompleteTextView EdtSearch = (AutoCompleteTextView) findViewById(R.id.EdtSearch);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, rangesyouwantasStringArray);
EdtSearch.setAdapter(adapter);