我有一个带有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;
}
}