1. 抽Activity
public abstract class BaseActivity extends AppCompatActivity {
public abstract int initLayout();
public abstract void initView();
public abstract void initData();
public abstract void initListener();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(initLayout());//初始化主布局
initView();//初始化控件
initData();//初始化数据
initListener();//初始化监听
}
}
2. 初始化Fragment
public abstract class BaseFragment extends Fragment {
public abstract View initLayout(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState);
public abstract void initView();
public abstract void initData();
public abstract void initListener();
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return initLayout(inflater, container,savedInstanceState);//初始化主布局
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initView();//初始化控件
initData();//初始化数据
initListener();//初始化监听
}
3.简单Activity列子:
//需要继承BaseActivity
public class Main3Activity extends BaseActivity {
private ArrayList<Fragment> list = new ArrayList<>();
private ViewPager vps;
private RadioGroup rgadio;
//初始化布局
@Override
public int initLayout() {
return R.layout.activity_main3;
}
//初始化控件
@Override
public void initView() {
vps = (ViewPager) findViewById(R.id.vp);
rgadio = (RadioGroup) findViewById(R.id.rg);
}
//初始化数据
@Override
public void initData() {
list.add(new FragmentOne());
list.add(new FragmentTwo());
list.add(new FragmentThree());
list.add(new FragmentFour());
list.add(new FragmentFive());
//设置适配器
vps.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return list.get(i);
}
@Override
public int getCount() {
return list.size();
}
});
}
//初始化监听
@Override
public void initListener() {
getData();//调用监听方法
}
public void getData(){
//点击事件
rgadio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.rb_bnt1:
vps.setCurrentItem(0);
break;
case R.id.rb_bnt2:
vps.setCurrentItem(1);
break;
case R.id.rb_bnt3:
vps.setCurrentItem(2);
break;
case R.id.rb_bnt4:
vps.setCurrentItem(3);
break;
case R.id.rb_bnt5:
vps.setCurrentItem(4);
break;
}
}
});
}
}
**4.简单Fragment列子:**
//需要继承BaseFragment
public class FragmentTwo extends BaseFragment {
@Override
public View initLayout(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//初始化布局
View inflate = inflater.inflate(R.layout.fragmenttwo, container, false);
return inflate;
}
@Override
public void initView() {
//初始化数据
}
@Override
public void initData() {
//初始化数据
}
@Override
public void initListener() {
//初始化监听
}
}