【发布时间】:2018-10-06 17:40:56
【问题描述】:
我正在开发一个从 API 获取客户数据的功能。我的片段中还有一个SearchView。
现在的问题是,当我在 SearchView 中输入文本然后点击搜索按钮时,它会显示已过滤客户的列表,然后如果我选择一个客户并转到详细信息页面,然后我按回从详细页面然后SearchView 有我之前输入的文本,但我没有根据搜索获取数据。我正在获取所有客户的列表,因为参数中的搜索字段为空。
我能做什么?
片段:
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
if (searchView.getQuery().length() == 0) {
Toast.makeText(getActivity(), R.string.name_blank_caution, Toast.LENGTH_LONG).show();
} else {
AdvisorListApi();
searchView.clearFocus();
}
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
在参数中
HashMap<String, String> params = new HashMap<String, String>();
params.put("api_token", user.get("api_token"));
params.put("user_id", user.get("id"));
params.put("prefer", searchingCriteria.get("prefer"));
params.put("financial_concern", searchingCriteria.get("financial_concern"));
params.put("search_name", searchView.getQuery().toString());
params.put("sort_by", sort_by);
params.put("contacted", contacted);
params.put("non_contacted", non_contacted);
params.put("blocked", blocked);
【问题讨论】:
-
或许你可以尝试使用
searchView.getText()而不是searchView.getQuery()?
标签: android android-layout android-studio android-fragments searchview