当我在Android中的搜索视图上删除搜索查询时,我无法重置为我的初始列表

时间:2016-11-29 12:42:09

标签: android listview android-adapter listview-filter

我是新手!用户,我正在尝试使用“搜索视图”过滤我的数据。过滤似乎有效,但当我删除搜索视图中的文本以键入另一个时,我只有找到的项而不是我的初始列表。

更多分析我在适配器中使用以下内容:

public void filterData(String query){

    query = query.toLowerCase();

    if(query.isEmpty()){
        expListTitle .addAll(InitialList);

    }
    else {

        expListTitle.clear();
        for(String titles: NewexpListTitle)
        {
            if(titles.toLowerCase().contains(query))
            {
                expListTitle.add(titles);
            }
        }

    }

    notifyDataSetChanged();

}

并在适配器的构造函数中执行以下操作:

public CustomExpandableListAdapter(Context context, List<String> expListTitle, LinkedHashMap<String,ArrayList<Business>> expListDetail)
{
    this.context = context;
    this.expListTitle = expListTitle;
    this.expListDetail = expListDetail;

    this.NewexpListTitle= new ArrayList<String>();
    this.NewexpListTitle.addAll(expListTitle);

    this.InitialList = new ArrayList<String>();
    this.InitialList.addAll(expListTitle);
}

在我的课上,我给出了以下调用FilterData方法

的内容
@Override
public boolean onQueryTextChange(String query) {
    listAdapter = new CustomExpandableListAdapter(getApplicationContext(), FinalListTitle, FinalMap);

    listAdapter.filterData(query);

    expandableListView.setAdapter(listAdapter);
    return false;
}

我在setAdapter和初始化之上,因为数据来自使用volley的JSON对象

似乎当我清除SearchView时,列表中的InitialList也被清除,并且它的左侧是找到的元素。 如何同时保留我的初始列表?

谢谢

2 个答案:

答案 0 :(得分:0)

this below code solved my issue.

    @Override
    public boolean onQueryTextChange(String newText) {
        if (TextUtils.isEmpty(newText)) {
            lv_listname.clearTextFilter();
            listAdapter.getFilter().filter("");
        } else {
           listAdapter.getFilter().filter(newText);
          //  ad_names.notifyDataSetChanged();
          //  lv_listname.setFilterText(newText);
          //  searchview.dismissSuggestions();
        }
        return true;
    }

答案 1 :(得分:0)

试试这个,

ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 13, column 122>  mismatched input ')' expecting COLON