【问题标题】:How to send Server request from single tab in android?如何从android中的单个选项卡发送服务器请求?
【发布时间】:2016-07-26 03:45:49
【问题描述】:

我有MainActivity,它添加了两个选项卡,即“tab1”、“tab2”;这些标签是片段。当我打开MainActivity 时,选项卡 1 发送服务器请求,选项卡 2 也发送服务器请求,来自两个选项卡的服务器请求都发送到服务器。我想要的是:当 tab1 变得可见时,tab1 应该发送一个服务器请求,当 tab2 变得可见时,tab2 将发送它的服务器请求。我该怎么做?

MainActivity:

m_TabLayout = (TabLayout) findViewById(R.id.tab_layout);// finding Id of tablayout
m_ViewPager = (ViewPager) findViewById(R.id.pager);//finding Id of ViewPager
m_TabLayout.addTab(m_TabLayout.newTab().setText("Deals"));// add deal listin tab
m_TabLayout.addTab(m_TabLayout.newTab().setText("Stories"));
m_TabLayout.setTabGravity(TabLayout.GRAVITY_FILL);// setting Gravity of Tab


CDealMainListingPager m_oDealMainScreenPager = new CDealMainListingPager(getSupportFragmentManager(), m_TabLayout.getTabCount());
m_ViewPager.setAdapter(m_oDealMainScreenPager);// adiing adapter to ViewPager
m_ViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(m_TabLayout));// performing action of page changing
m_TabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
    @Override
    public void onTabSelected(TabLayout.Tab tab) {
        m_ViewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabUnselected(TabLayout.Tab tab) {

    }

    @Override
    public void onTabReselected(TabLayout.Tab tab) {

    }
});

【问题讨论】:

    标签: android android-fragments tabs


    【解决方案1】:

    试试这个

    int currentTab = 1;
    
    m_ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                @Override
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    
                }
    
                @Override
                public void onPageSelected(int position) {
                    currentTab = viewPager.getCurrentItem();
                    if(currentTab == 1) {
     //                  Tab 1 Server request
                    }else{
    //                   Tab 2 server request
                        }
                }
    
                @Override
                public void onPageScrollStateChanged(int state) {
    
                }
            });
    

    【讨论】:

    • 但请求 reuest 将从特定选项卡发送......即在特定选项卡中实现
    • 根据选择的标签,您可以从此页面发送请求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    相关资源
    最近更新 更多