您好,我正在尝试创建一个AutoCompleteTextView。此AutoCompleteTextView的结果列表应放在dit文本下面。任何人都可以帮助我如何实现这一目标吗?
答案 0 :(得分:2)
查看问题,您似乎需要在单独的列表中显示结果。
因此,假设您的EditText
被称为searchText并假设您的ListAdapter
被称为searchAdapter,那么请将addTextChangedListener
设置为EditText
。
EditText searchText = (EditText) findViewById(R.id.search);
searchText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
searchAdapter.filter(s.toString());
}
});
然后在ListAdapter
中添加过滤功能,使用输入的关键字从数据集中过滤。
private List<String> titles, titlesCopy;
//keep a copy of your dataset
public void filter(String charText) {
charText = charText.toLowerCase(Locale.getDefault());
titles.clear();
if (charText.length() == 0) {
titles.addAll(titlesCopy); //no text entered, so add all results
} else {
for (String filtered : titlesCopy) { //check with keyword from the copy data set
if (filtered.toLowerCase(Locale.getDefault()).contains(charText)) {
titles.add(filtered);
}
}
}
notifyDataSetChanged();
}
答案 1 :(得分:0)
尝试这样的事情:
jwplayer(player).setup({
file: file,
primary: "flash",
autostart: false,
aspectratio: "16:9",
autostart: false,
androidhls: true,
width: '100%'
});
并使用<AutoCompleteTextView
android:id="@+id/txtPurpose"
android:layout_width="370dp"
android:layout_height="50dp"
android:dropDownHeight="300dp"
android:paddingStart="10dp"
android:paddingEnd="10dp"/>
作为您要填写的列表的设计
我希望这能帮助你解决你想要的问题,并告诉我它是否有用。