我有2个标签,每个标签都有一个片段。每个片段都有回收者视图。我有一个操作栏,里面有一个搜索属性(我正在使用materialsearchview)。我想搜索每个片段中的数据 当我的应用程序加载时,搜索正在为第一个片段工作,然后如果我滑动到下一个片段并返回到第一个片段,搜索不起作用,因为与第一个片段相关的方法没有被调用。所以当用户在第一个片段时如何调用它们。
public class Tab1Fragment extends Fragment {
private static final String TAG = "Tab1Fragment";
Context c;
String user_name,password;
MaterialSearchView materialSearchView;
String url = null;
RecyclerView rv1;
TableLayout tabLayout;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
setUserVisibleHint(false);
View view = inflater.inflate(R.layout.tab1_fragment,container,false);
tabLayout=(TableLayout) view.findViewById(R.id.tablelayout);
final TableLayout tabLayout1=(TableLayout)view.findViewById(R.id.tablelayout1);
final TableLayout tabLayout2=(TableLayout)view.findViewById(R.id.tablelayout2);
materialSearchView = (MaterialSearchView)getActivity().findViewById(R.id.search_view);
SharedPreferences sharedPreferences=this.getActivity().getSharedPreferences("postman", Context.MODE_PRIVATE);
user_name=sharedPreferences.getString("username","nothing");
password=sharedPreferences.getString("password","nothing");
rv1 = (RecyclerView) view.findViewById(R.id.mRecycler1);
rv1.setLayoutManager(new LinearLayoutManager(c));
rv1.setItemAnimator(new DefaultItemAnimator());
Download2 d2 = new Download2(getActivity(),url,rv1,user_name,password,tabLayout,materialSearchView);
d2.execute();
return view;
}
The other fragment is:
public class Tab3Fragment extends Fragment {
private static final String TAG = "Tab3Fragment";
String user_name,password;
Context c;
MaterialSearchView materialSearchView3;
RecyclerView rv, rv1;
TableLayout tabLayout1 , tabLayout;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
setUserVisibleHint(false);
View view = inflater.inflate(R.layout.tab3_fragment,container,false);
tabLayout1=(TableLayout)view.findViewById(R.id.tablelayout1);
materialSearchView3 = (MaterialSearchView)getActivity().findViewById(R.id.search_view);
SharedPreferences sharedPreferences=this.getActivity().getSharedPreferences("postman", Context.MODE_PRIVATE);
user_name=sharedPreferences.getString("username","nothing");
password=sharedPreferences.getString("password","nothing");
rv = (RecyclerView) view.findViewById(R.id.mRecycler);
rv.setLayoutManager(new LinearLayoutManager(c));
rv.setItemAnimator(new DefaultItemAnimator());
return view;
}
@Override
public void setMenuVisibility(boolean menuVisible) {
super.setMenuVisibility(menuVisible);
if(menuVisible)
{
Download3 d3 = new Download3(getActivity(),url,rv,user_name,password,tabLayout1, materialSearchView3);
d3.execute();
}
}
}