使用viewpagerindicator在两个活动中间设置一个活动的位置



我正在使用viewpagerindicator我有三个活动,即FirstActivity.javaSecondActivity.javaThirdActivity.java

FirstActivity.java 代码

public class FirstActivity extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    View v = inflater.inflate(R.layout.layout1, null);

    return v;
}

}

SecondActivity.java代码

public class SecondActivity extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    View v = inflater.inflate(R.layout.layout2, null);

    return v;
}

}

ThirdActivity.java 代码

public class ThirdActivity extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    View v = inflater.inflate(R.layout.layout3, null);

    return v;
}

}

FragmentAdaptor.java 代码

public class FragmentAdapter extends FragmentStatePagerAdapter implements IconPagerAdapter{
public FragmentAdapter(FragmentManager fm) {
    super(fm);
    // TODO Auto-generated constructor stub
}
@Override
public int getIconResId(int index) {
    // TODO Auto-generated method stub
    return 0;
}
@Override
public Fragment getItem(int position) 
{
    // TODO Auto-generated method stub
    Fragment fragment = new FirstActivity();
    switch(position){
    case 0:
        fragment = new FirstActivity();
        break;
    case 1:
        fragment = new SecondActivity();
        break;
    case 2:
        fragment = new ThirdActivity();
        break;
    }
    return fragment;
}
@Override
public int getCount() {
    // TODO Auto-generated method stub
    return 3;
}
@Override
public CharSequence getPageTitle(int position){
    String title = "";
    switch(position){
    case 0:
        title = "First";
        break;
    case 1:
        title = "Second";
        break;
    case 2:
        title = "Third";
        break;
    }
    return title;
}

}

因此,从这段代码中,我获得了FirstActivity.java和右侧其他两个活动的默认页面。当应用程序启动时,我希望我的第二个活动位于两个页面的中间

您应该调用viewPager.setCurrentItem(1)。你可以在这里查看更多信息

Activity.onCreate()方法中,您将执行以下操作:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
    viewPager.setAdapter(new FragmentAdapter());
    viewPager.setCurrentItem(1);
}

最新更新