我的片段中具有以下结构。
我也有这段代码来更改片段。
search_box.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
changeFragment(new SearchAFragment());
}
});
search_box.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
changeFragment(new SearchBFragment());
return false;
}
});
如您所见,片段根据搜索视图状态而变化。当searchview未聚焦时,在框架布局(形状1)中会显示一个空片段。启用searchview后,viewpager会在框架布局(形状2)中显示选项卡。我需要在viewpager的片段中使用searchview的onTextChangedListener。
我这样使用它们;
((android.support.v7.widget.SearchView) getParentFragment().getView().findViewById(R.id.search_box)).setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(final String newText) {
return false;
}
});
我将以上代码放在viewpager中的两个片段上,并且仅适用于viewpager中的第二个片段。我猜第二个片段中的侦听器会覆盖viewpager第一个片段中的第一个侦听器。
因此,在viewpager的片段中,完成了填充回收站视图的操作,并将文本以形状1的外部片段放入了搜索视图中。
>