通过在同一个viewpager中滑动来按钮和其他按钮更改一些片段

时间:2015-09-04 11:36:45

标签: android android-viewpager fragment

我有一个带有5个可滚动片段的viewpager,我想制作 片段1默认加载 通过在片段1中单击的按钮访问片段2 然后允许用户滚动到frag.4(没有底部) FRAG。当用户点击frag中的按钮时显示5。 4

可以这样做吗? 提前谢谢

main activity::
package com.example.s_meter.all.horizental;

import com.example.siemenssmartmeter.R;

import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.RadioGroup;

public class SMeterAllHorrzental extends ActionBarActivity{

    @SuppressWarnings("deprecation")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.s_meter_all_h);

        MyPageAdapter_all_h pageAdapter;
        ViewPager pager;



      pageAdapter = new MyPageAdapter_all_h(getSupportFragmentManager());
      pager =(ViewPager)findViewById(R.id.viewpager);

        final RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radiogroup);
        pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                switch (position){
                    case 0:
                        radioGroup.check(R.id.radioButton);
                        break;
                    case 1:
                        radioGroup.check(R.id.radioButton2);
                        break;
                    case 2:
                        radioGroup.check(R.id.radioButton3);
                        break;
                    case 3:
                        radioGroup.check(R.id.radioButton4);
                        break;
                    case 4:
                        radioGroup.check(R.id.radioButton5);
                        break;

                }
            }


            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
        pager.setAdapter(pageAdapter);




}
}

适配器::::

package com.example.s_meter.all.horizental;
import com.example.horizental.tabs_s_old.*;
import com.example.s.meter.tabs.Location_tab;
import com.example.s.meter.tabs.New_meter;

import java.util.List;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

public class MyPageAdapter_all_h extends FragmentPagerAdapter {
    //private List<Fragment> fragments;
    //  public MyPageAdapter(FragmentManager fm, List<Fragment> fragments) {
    public MyPageAdapter_all_h(FragmentManager fm) {
      super(fm);
     // this.fragments = fragments;
    }
    @Override 
    public Fragment getItem(int position) {
     // return this.fragments.get(position);
        Fragment f=null;
        if(position ==0){
            f=new Location_tab();
        }
        else if(position ==1){
            f=new Old_meter_frag1();
        }
        else if (position==2){
            f=new Old_meter_frag2();
        }
        else if (position==3){
            f=new Old_meter_frag3();
        }
        else if (position==4){
            f=new New_meter();
        }

        return f;
    }
    @Override
    public int getCount() {
      return 5;
    }
}

0 个答案:

没有答案