自定义AutocompleteTextView的列表

时间:2015-06-02 09:32:21

标签: android listview autocompletetextview

您好,我正在尝试创建一个AutoCompleteTextView。此AutoCompleteTextView的结果列表应放在dit文本下面。任何人都可以帮助我如何实现这一目标吗?

2 个答案:

答案 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"/> 作为您要填写的列表的设计

我希望这能帮助你解决你想要的问题,并告诉我它是否有用。