У меня есть действие, в котором есть макет вкладки, в котором у меня есть два разных фрагмента. Я использую viewpager для перемещения по этим фрагментам.
public void setupViewPager(ViewPager viewPager) {
MainActivity.ViewPagerAdapter adapter = new MainActivity.ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new Dashboard(), "Dashboard");
adapter.addFragment(new Buysell(), "Buy/Sell");
viewPager.setAdapter(adapter);
}
public class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
В обоих фрагментах я использую некоторые события socket.io, которые совпадают.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppController app = (AppController)
getActivity().getApplication();
mSocket = app.getSocket();
mSocket.on("inr_balance_data", inrBalanceData);
mSocket.on("order_notify", server_Response_Buy);
}
В обоих фрагментах событие "order_notify" одинаково. Таким образом, проблема, с которой я сталкиваюсь, заключается в том, что когда я излучаю какое-то событие из одного фрагмента, а order_notify должен прослушивать это событие, тогда order_notify вызывается в обоих фрагментах.
Я хочу, если я генерирую какое-либо событие из фрагмента панели мониторинга, тогда вызывается только order_notify, который присутствует во фрагменте панели мониторинга.
и когда я генерирую какое-либо событие из фрагмента buysell, тогда вызывается только order_notify, который присутствует во фрагменте buysell.
в настоящее время оба order_notify вызываются независимо от того, из какого фрагмента был инициирован запрос.
Я думаю, что мы можем достичь этого, убив фрагмент, который не виден.
мы можем сделать это?