在我的应用程序中,我有一个场景,那就是我想向用户显示所需的数字范围,这些将是动态的,比方说1,2,3或一段时间,1,2或某些时间1,2 ,3,4,5我希望用户选择我给定范围内的数字。这样我就不希望用户通过输入数字填写。请告诉我如何实现这一点以及如何控制自动完成textview中的数字范围。
或者是什么的替代品。请记住,我有Edittext,在该edittext中,我希望用户选择数字而不只是输入数字。
答案 0 :(得分:1)
您可以在布局中使用AutoCompleteTextView:
XML代码
<AutoCompleteTextView android:id="@+id/EdtSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
JAVA代码
要绑定AutoCompleteTextView
内的数组,请使用以下代码
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);
答案 1 :(得分:0)
为什么不使用Spinner?我认为,为了您的目的,它更有效率。 您可以将EditText更改为Spinner并使用其适配器以编程方式更改范围。
编辑:
这是您必须插入的元素而不是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));
}