1 Activity
package com.chxblu.test.myapplication;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.util.SparseArray;
import android.view.View;
import android.view.ViewGroup;
import com.chxblu.test.myapplication.fragment.TabFragment;
import com.chxblu.test.myapplication.view.TabView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MainActivityWithTab extends AppCompatActivity {
ViewPager mVpMain;
private List<String> mTitles = new ArrayList<>(Arrays.asList("微信", "通讯录", "关于", "我"));
private TabView tbWechat, tbFind, tbAbout, tbMe;
SparseArray<TabFragment> sparseArray = new SparseArray<>();
private List<TabView> mTbs = new ArrayList<>();
private static final String BUNDLE_KEY_POS = "bundle_key_pos";
private int mCurTabPos =0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_tab);
if(savedInstanceState!=null){
mCurTabPos = savedInstanceState.getInt(BUNDLE_KEY_POS);
}
initViews();
initViewPage();
initEvents();
}
private void initEvents() {
for (int i = 0; i < mTbs.size(); i++) {
final TabView tabView = mTbs.get(i);
final int finalI = i;
tabView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mVpMain.setCurrentItem(finalI);
setCurrentTab(finalI);
}
});
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(BUNDLE_KEY_POS, mVpMain.getCurrentItem());
}
private void initViews() {
tbWechat = findViewById(R.id.tb_wechat);
tbFind = findViewById(R.id.tb_find);
tbAbout = findViewById(R.id.tb_about);
tbMe = findViewById(R.id.tb_me);
tbWechat.setIconAndText(R.drawable.wechar, R.drawable.wecharselect, "微信");
tbFind.setIconAndText(R.drawable.find, R.drawable.findselect, "发现");
tbAbout.setIconAndText(R.drawable.txl, R.drawable.txlselect, "通讯录");
tbM