我有一个搜索视图,在它的底部,有两个选项卡,在它们下方有一个Viewpager
,所有作品都已连接。我还具有用于搜索视图的文本更改侦听器,并且在其中,我从服务器获取数据并将其RecyclerView
放在片段中。
private void setSearch() {
android.support.v7.widget.SearchView searchView = getParentFragment().getView().findViewById(R.id.search_box);
searchView.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (!newText.isEmpty()) {
ManagerAll.getInstance().fetchFiltereds(newText).enqueue(new Callback<List<a>>() {
@Override
public void onResponse(Call<List<a>> call, Response<List<a>> response) {
if (response.isSuccessful()) {
adapter = new Adapter(getContext(), response.body(), getFragmentManager());
list.setAdapter(adapter );
linearLayoutManager = new LinearLayoutManager(getContext());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
list.setLayoutManager(linearLayoutManager);
}
}
@Override
public void onFailure(Call<List<a>> call, Throwable t) {
}
});
return true;
} else return false;
}
});
}
我将此方法(上面)放在放置在viewPager内部的两个片段中。几乎一切正常。所有根据文本的数据都将流向回收者视图,但是此数据仅进入第二个选项卡。在第一个标签的片段中,没有数据。 SearchView适用于两个片段,但只有第二个片段被数据填充。即使我在搜索视图中更改了文字,第一个也只是空白。