मैं व्यूपर और एक्शनबार टैब (4 टैब) का उपयोग कर रहा हूं। जब मुख्य गतिविधि शुरू होती है, तो यह 4 टुकड़े डेटा लोड करती है।टैब चयनित होने पर केवल एक्शनबार चयनित टैब की खंड गतिविधि ऑनक्रेट() विधि को लोड करने के लिए कैसे करें?
इसे केवल चयनित टैब डेटा कैसे लोड करें?
जब भी मैं टैब 1, टैब 1 और टैब 0 लोड का चयन करता हूं।
यदि मैं दोनों टैब के लिए टैब 0 और टैब 1, ऑनस्टार्ट() के बीच स्वाइप करता हूं।
यदि मैं टैब 2 का चयन करता हूं और फिर टैब 0 लोड के लिए टैब 0, ऑनस्टार्ट() का चयन करता हूं।
यदि मैं दोनों टैब के लिए टैब 2 और टैब 3, ऑनस्टार्ट() के बीच स्वाइप करता हूं।
MainActivity.java
MainPagerAdapter tabsPagerAdapter;
ViewPager viewPager;
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.pager);
tabsPagerAdapter = new MainPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(tabsPagerAdapter);
actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.addTab(actionBar.newTab().setIcon(getResources().getDrawable(R.drawable.doros)).setTabListener(this));
actionBar.addTab(actionBar.newTab().setIcon(getResources().getDrawable(R.drawable.esteshara)).setTabListener(this));
actionBar.addTab(actionBar.newTab().setIcon(getResources().getDrawable(R.drawable.aswak)).setTabListener(this));
actionBar.addTab(actionBar.newTab().setIcon(getResources().getDrawable(R.drawable.akhbar)).setTabListener(this));
viewPager.setOffscreenPageLimit(0);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.abs_layout);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
viewPager.setCurrentItem(3);
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
MainPageAdapter.java
public class MainPagerAdapter extends FragmentPagerAdapter implements PagerSlidingTabStrip.IconTabProvider{
public MainPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return 4;
}
private int[] tabIcons = {
R.drawable.ar,
R.drawable.ar,
R.drawable.ar,
R.drawable.ar
};
@Override
public android.support.v4.app.Fragment getItem(int position) {
switch (position)
{
case 3: return new NewsFragment();
case 1: return new ConsultationFragment();
case 2: return new IndecesFragment();
case 0: return new LessonsFragment();
default: return null;
}
}
@Override
public int getPageIconResId(int i) {
return tabIcons[i];
}
}
मैं इस लिंक मिल गया है, लेकिन इसकी सहायक link
यह है कि पेजर एडाप्टर कैसे काम करता है, आपको इसे रोकने के लिए अपने तर्क को सही करना होगा, जैसे कि चार टुकड़ों के लिए बूलियन मान लें, और टैब का चयन करते समय उन्हें सक्षम करें। और सही या गलत पर आधारित टुकड़े लोड करें। –
मैंने कोशिश की, लेकिन समस्या यह है कि जब मैं एक टैब का चयन करता हूं, तो इसकी खंड गतिविधि ऑन्रेस्यूम() या ऑनक्रेट को नहीं कहा जाता है। – Mohammad