我正在开发一种功能,我从API中获取客户数据。我的片段中也有一个SearchView
。
现在问题是,当我在SearchView
中输入文本然后点击搜索按钮然后它会显示已过滤客户的列表,之后如果我选择一个客户并转到详细信息页面,之后我从详细信息页面返回,然后SearchView
包含我之前输入的文本,但我没有根据搜索获取数据。我正在获取所有客户的列表,因为搜索字段在params中为空。
我该怎么办?
摘录:
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;
}
});
并在params
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);
答案 0 :(得分:0)
您可以再次使用onResume()方法调用API。
@Override
protected void onResume() {
super.onResume();
searchView.setQuery("", false);
}
或者您可以在SearchView中清除文本。
CATEGORIES = (
(1, 'Mountains'),
(2, 'Animals'),
(3, 'Macro'),
(4, 'People')
)
class Photo(models.Model):
title = models.CharField(max_length=150)
image = models.ImageField()
description = models.TextField()
category = models.IntegerField(choices=CATEGORIES)
published = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.title