month_04

acvitity_main:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.view.ViewPager
        android:id="@+id/vp_splash"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <Button
        android:id="@+id/btn_goto_main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="30dp"
        android:text="进入页面"
        android:visibility="gone" />

</RelativeLayout>

activity_login:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    android:padding="10dp">

    <EditText
        android:id="@+id/et_username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入用户名" />

    <EditText
        android:id="@+id/et_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入密码" />

    <Button
        android:id="@+id/btn_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录" />

</LinearLayout>


activity_home:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.design.widget.TabLayout
        android:id="@+id/tbl_news"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></android.support.design.widget.TabLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/vp_news"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></android.support.v4.view.ViewPager>

</LinearLayout>

fragment_news:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v4.view.ViewPager
        android:id="@+id/vp_banner"
        android:layout_width="match_parent"
        android:layout_height="200dp"></android.support.v4.view.ViewPager>

    <com.bwie.xlistview.XListView
        android:id="@+id/xlv_news"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></com.bwie.xlistview.XListView>
</LinearLayout>

fragment_empty:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v4.view.ViewPager
        android:id="@+id/vp_banner"
        android:layout_width="match_parent"
        android:layout_height="200dp"></android.support.v4.view.ViewPager>

    <com.bwie.xlistview.XListView
        android:id="@+id/xlv_news"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></com.bwie.xlistview.XListView>
</LinearLayout>

public class HttpUtils {
    public static String getStringFromHttp(String urlString) {
        String result = "";

        try {
            URL url = new URL(urlString);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            connection.setRequestMethod("GET");
            connection.setUseCaches(false);
            connection.setDoInput(true);
            connection.setDoOutput(false);
            connection.setConnectTimeout(5000);

            connection.connect();

            if (connection.getResponseCode() == 200) {
                InputStream is = connection.getInputStream();
                result = getStringFromInputStream(is);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return result;
    }

    private static String getStringFromInputStream(InputStream is) {
        String result = "";

        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            int length = -1;
            byte[] buffer = new byte[1024];
            while ((length = is.read(buffer, 0, buffer.length)) != -1) {
                baos.write(buffer, 0, length);
                baos.flush();
            }

            result = baos.toString();
            baos.close();
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return result;

    }
}
public class NetUtils {
    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = manager.getActiveNetworkInfo();
        if (networkInfo == null) {
            return false;
        }
        return networkInfo.isAvailable();
    }
}

public class DBHelper extends SQLiteOpenHelper {
    private static final String DB_NAME = "news.db";
    private static final int DB_VERSION = 1;

    public DBHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "create table " + NewsDao.TABLE_NAME + "(" +
                NewsDao.COLUMN_ID + " text primary key," +
                NewsDao.COLUMN_TITLE + " text," +
                NewsDao.COLUMN_DATE + " text," +
                NewsDao.COLUMN_CATEGORY + " text," +
                NewsDao.COLUMN_AUTHOR_NAME + " text," +
                NewsDao.COLUMN_URL + " text," +
                NewsDao.COLUMN_THUMBNAIL_01 + " text," +
                NewsDao.COLUMN_THUMBNAIL_02 + " text," +
                NewsDao.COLUMN_THUMBNAIL_03 + " text)";
        db.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}
 

public class NewsDao {
    public static final String TABLE_NAME = "news";
    public static final String COLUMN_ID = "id";
    public static final String COLUMN_TITLE = "title";
    public static final String COLUMN_DATE = "_date";
    public static final String COLUMN_CATEGORY = "category";
    public static final String COLUMN_AUTHOR_NAME = "author_name";
    public static final String COLUMN_URL = "url";
    public static final String COLUMN_THUMBNAIL_01 = "thumbnail01";
    public static final String COLUMN_THUMBNAIL_02 = "thumbnail02";
    public static final String COLUMN_THUMBNAIL_03 = "thumbnail03";
    private final SQLiteDatabase db;

    public NewsDao(Context context) {
        DBHelper helper = new DBHelper(context);
        db = helper.getWritableDatabase();
    }

    public int insert(List<News.DataBean> news) {
        int count = 0;
        ContentValues values = new ContentValues();
        for (News.DataBean dataBean : news) {
            if (!hasId(dataBean.getUniquekey())) {
                values.put(COLUMN_ID, dataBean.getUniquekey());
                values.put(COLUMN_TITLE, dataBean.getTitle());
                values.put(COLUMN_DATE, dataBean.getDate());
                values.put(COLUMN_CATEGORY, dataBean.getCategory());
                values.put(COLUMN_AUTHOR_NAME, dataBean.getAuthorName());
                values.put(COLUMN_URL, dataBean.getUrl());
                values.put(COLUMN_THUMBNAIL_01, TextUtils.isEmpty(dataBean.getThumbnail01()) ? "" : dataBean.getThumbnail01());
                values.put(COLUMN_THUMBNAIL_02, TextUtils.isEmpty(dataBean.getThumbnail02()) ? "" : dataBean.getThumbnail02());
                values.put(COLUMN_THUMBNAIL_03, TextUtils.isEmpty(dataBean.getThumbnail03()) ? "" : dataBean.getThumbnail03());
                long l = db.insert(TABLE_NAME, null, values);
                if (l > 0) {
                    count++;
                }
            }
        }
        return count;
    }

    public List<News.DataBean> queryByPage(int page) {
        List<News.DataBean> list = new ArrayList<>();
        String limit = (page - 1) * 30 + ", 30";
        Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null, limit);
        while (cursor.moveToNext()) {
            News.DataBean bean = new News.DataBean();
            bean.setUniquekey(cursor.getString(cursor.getColumnIndex(COLUMN_ID)));
            bean.setTitle(cursor.getString(cursor.getColumnIndex(COLUMN_TITLE)));
            bean.setCategory(cursor.getString(cursor.getColumnIndex(COLUMN_CATEGORY)));
            bean.setDate(cursor.getString(cursor.getColumnIndex(COLUMN_DATE)));
            bean.setAuthorName(cursor.getString(cursor.getColumnIndex(COLUMN_AUTHOR_NAME)));
            bean.setUrl(cursor.getString(cursor.getColumnIndex(COLUMN_URL)));
            String th1 = cursor.getString(cursor.getColumnIndex(COLUMN_THUMBNAIL_01));
            String th2 = cursor.getString(cursor.getColumnIndex(COLUMN_THUMBNAIL_02));
            String th3 = cursor.getString(cursor.getColumnIndex(COLUMN_THUMBNAIL_03));
            bean.setThumbnail01(TextUtils.isEmpty(th1) ? "" : th1);
            bean.setThumbnail02(TextUtils.isEmpty(th1) ? "" : th2);
            bean.setThumbnail03(TextUtils.isEmpty(th1) ? "" : th3);
            list.add(bean);
        }
        return list;
    }

    public boolean hasId(String id) {
        Cursor cursor = db.query(TABLE_NAME, null, COLUMN_ID + "=?", new String[]{id}, null, null, null);
        if (cursor.moveToNext()) {
            return true;
        }
        return false;
    }
}
 

public class ServerUrl {
    public static final String LOGIN_URL = "https://www.zhaoapi.cn/user/login?";
    public static final String BANNER_URL = "http://www.xieast.com/api/banner.php";
    public static final String NEWS_URL = "http://www.xieast.com/api/news/news.php?page=";
}
 

public abstract class BaseActivity extends AppCompatActivity {
    protected Context mContext;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mContext = this;

        previewAction();
        setContentView(getContentView());
        initView();
        initData();
        setListener();
        setMoreAction();
    }

    protected void previewAction() {

    }

    protected abstract int getContentView();

    protected abstract void initView();

    protected void initData() {

    }

    protected void setListener() {
    }

    protected void setMoreAction() {

    }
}
 

public class BaseApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
                .build();
        ImageLoader.getInstance().init(configuration);
    }
}

public class NewsAdapter extends BaseAdapter {
    private Context context;
    private List<News.DataBean> list;
    private static final int TYPE_ONE_PIC = 0;
    private static final int TYPE_TWO_PIC = 1;
    private static final int TYPE_THREE_PIC = 2;

    public NewsAdapter(Context context, List<News.DataBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public int getViewTypeCount() {
        return 3;
    }

    @Override
    public int getItemViewType(int position) {
        News.DataBean bean = list.get(position);
        if (!TextUtils.isEmpty(bean.getThumbnail03())) {
            return TYPE_THREE_PIC;
        } else if (!TextUtils.isEmpty(bean.getThumbnail02())) {
            return TYPE_TWO_PIC;
        } else {
            return TYPE_ONE_PIC;
        }
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder1 holder1 = null;
        ViewHolder2 holder2 = null;
        ViewHolder3 holder3 = null;

        int type = getItemViewType(position);

        switch (type) {
            case TYPE_ONE_PIC:
                if (convertView == null) {
                    holder1 = new ViewHolder1();
                    convertView = View.inflate(context, R.layout.item_news_01, null);
                    holder1.txtTitle = convertView.findViewById(R.id.txt_title);
                    holder1.imgLogo1 = convertView.findViewById(R.id.img_logo);
                    convertView.setTag(holder1);
                } else {
                    holder1 = (ViewHolder1) convertView.getTag();
                }

                holder1.txtTitle.setText(list.get(position).getTitle());
                ImageLoader.getInstance().displayImage(list.get(position).getThumbnail01(),
                        holder1.imgLogo1);
                break;

            case TYPE_TWO_PIC:
                if (convertView == null) {
                    holder2 = new ViewHolder2();
                    convertView = View.inflate(context, R.layout.item_news_02, null);
                    holder2.txtTitle = convertView.findViewById(R.id.txt_title);
                    holder2.imgLogo1 = convertView.findViewById(R.id.img_logo1);
                    holder2.imgLogo2 = convertView.findViewById(R.id.img_logo2);
                    convertView.setTag(holder2);
                } else {
                    holder2 = (ViewHolder2) convertView.getTag();
                }

                holder2.txtTitle.setText(list.get(position).getTitle());
                ImageLoader.getInstance().displayImage(list.get(position).getThumbnail01(),
                        holder2.imgLogo1);
                ImageLoader.getInstance().displayImage(list.get(position).getThumbnail02(),
                        holder2.imgLogo2);
                break;
            case TYPE_THREE_PIC:
                if (convertView == null) {
                    holder3 = new ViewHolder3();
                    convertView = View.inflate(context, R.layout.item_news_03, null);
                    holder3.txtTitle = convertView.findViewById(R.id.txt_title);
                    holder3.imgLogo1 = convertView.findViewById(R.id.img_logo1);
                    holder3.imgLogo2 = convertView.findViewById(R.id.img_logo2);
                    holder3.imgLogo3 = convertView.findViewById(R.id.img_logo3);
                    convertView.setTag(holder3);
                } else {
                    holder3 = (ViewHolder3) convertView.getTag();
                }

                holder3.txtTitle.setText(list.get(position).getTitle());
                ImageLoader.getInstance().displayImage(list.get(position).getThumbnail01(),
                        holder3.imgLogo1);
                ImageLoader.getInstance().displayImage(list.get(position).getThumbnail02(),
                        holder3.imgLogo2);
                ImageLoader.getInstance().displayImage(list.get(position).getThumbnail03(),
                        holder3.imgLogo3);
                break;
        }

        return convertView;
    }

    class ViewHolder1 {
        ImageView imgLogo1;
        TextView txtTitle;
    }

    class ViewHolder2 {
        ImageView imgLogo1;
        ImageView imgLogo2;
        TextView txtTitle;
    }

    class ViewHolder3 {
        ImageView imgLogo1;
        ImageView imgLogo2;
        ImageView imgLogo3;
        TextView txtTitle;
    }
}

public class EmptyFragment extends Fragment {
    private static final String ARG_PARAM1 = "param1";

    private TextView txtShow;


    public EmptyFragment() {
    }


    public static EmptyFragment newInstance(String param) {
        EmptyFragment fragment = new EmptyFragment();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param);
        fragment.setArguments(args);
        return fragment;
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_empty, container, false);
        txtShow = v.findViewById(R.id.txt_show);
        return v;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        Bundle bundle = getArguments();
        String str = bundle.getString(ARG_PARAM1);
        txtShow.setText(str);
    }
}

public class NewsFragment extends Fragment {
    private int page = 1;
    private ViewPager vpBanner;
    private XListView xlvNews;
    private NewsAdapter adapter;
    private List<News.DataBean> list;
    private boolean isLoadMore = false;
    private NewsDao dao;

    private Handler handler = new Handler();

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_news, container, false);

        vpBanner = v.findViewById(R.id.vp_banner);
        xlvNews = v.findViewById(R.id.xlv_news);
        return v;

    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        initData();
        setListerner();
        getBanner();
        getNews();
    }

    private void setListerner() {
        xlvNews.setXListViewListener(new XListView.IXListViewListener() {
            @Override
            public void onRefresh() {
                page = 1;
                isLoadMore = false;
                getNews();
            }

            @Override
            public void onLoadMore() {
                page++;
                isLoadMore = true;
                getNews();
            }
        });
    }

    private void initData() {
        xlvNews.setPullLoadEnable(true);
        xlvNews.setPullRefreshEnable(true);
        dao = new NewsDao(getActivity());

        list = new ArrayList<>();
        adapter = new NewsAdapter(getActivity(), list);
        xlvNews.setAdapter(adapter);
    }

    private void getBanner() {
        new AsyncTask<String, Integer, String>() {

            @Override
            protected String doInBackground(String... strings) {
                return HttpUtils.getStringFromHttp(strings[0]);
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                Banner banner = gson.fromJson(s, Banner.class);
                if (banner != null) {
                    final List<Banner.DataBean> data = banner.getData();
                    vpBanner.setAdapter(new PagerAdapter() {
                        @Override
                        public int getCount() {
                            return data.size();
                        }

                        @Override
                        public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
                            return view == object;
                        }

                        @NonNull
                        @Override
                        public Object instantiateItem(@NonNull ViewGroup container, int position) {
                            ImageView img = new ImageView(getActivity());
                            ImageLoader.getInstance().displayImage(data.get(position).getImg(), img);
                            container.addView(img);
                            return img;
                        }

                        @Override
                        public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
                            container.removeView((View) object);
                        }
                    });
                }
            }
        }.execute(ServerUrl.BANNER_URL);
    }

    private void getNews() {
        if (NetUtils.isNetworkAvailable(getActivity())) {
            getNewsFromHttp();
        } else {
            getNewsFromDB();
        }
    }

    private void getNewsFromDB() {
        List<News.DataBean> data = dao.queryByPage(page);
        if (data != null) {
            if (!isLoadMore) {
                list.clear();
            }
            list.addAll(data);
            adapter.notifyDataSetChanged();
        }
    }

    private void getNewsFromHttp() {
        String url = ServerUrl.NEWS_URL + page;
        new AsyncTask<String, Integer, String>() {

            @Override
            protected String doInBackground(String... strings) {
                return HttpUtils.getStringFromHttp(strings[0]);
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        if (isLoadMore) {
                            xlvNews.stopLoadMore();
                        } else {
                            xlvNews.stopRefresh();
                        }
                    }
                }, 200);
                Gson gson = new Gson();
                News news = gson.fromJson(s, News.class);
                if (news != null) {
                    List<News.DataBean> data = news.getData();

                    if (data != null) {
                        if (!isLoadMore) {
                            list.clear();
                        }
                        list.addAll(data);
                        adapter.notifyDataSetChanged();

                        dao.insert(list);
                    }
                }
            }
        }.execute(url);
    }
}
 

public class MainActivity extends BaseActivity implements View.OnClickListener {

    private ViewPager vpSplash;
    private List<Integer> imgIds;
    private Button btnGotoMain;
    private SharedPreferences sp;

    @Override
    protected int getContentView() {
        return R.layout.activity_main;
    }

    @Override
    protected void initView() {
        vpSplash = findViewById(R.id.vp_splash);
        btnGotoMain = findViewById(R.id.btn_goto_main);
    }

    @Override
    protected void initData() {
        super.initData();

        sp = getSharedPreferences("config", MODE_PRIVATE);
        if (!sp.getBoolean("is_first", true)) {
            Intent intent = new Intent(this, LoginActivity.class);
            startActivity(intent);
            finish();
            return;
        }

        imgIds = new ArrayList<>();
        imgIds.add(R.drawable.a1);
        imgIds.add(R.drawable.a2);
        imgIds.add(R.drawable.a3);

        vpSplash.setAdapter(new PagerAdapter() {
            @Override
            public int getCount() {
                return imgIds.size();
            }

            @Override
            public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
                return view == object;
            }

            @NonNull
            @Override
            public Object instantiateItem(@NonNull ViewGroup container, int position) {
                ImageView img = new ImageView(mContext);
                img.setImageResource(imgIds.get(position));
                container.addView(img);
                return img;
            }

            @Override
            public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
                container.removeView((View) object);
            }
        });
    }

    @Override
    protected void setListener() {
        super.setListener();
        vpSplash.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                if (position == imgIds.size() - 1) {
                    btnGotoMain.setVisibility(View.VISIBLE);
                } else {
                    btnGotoMain.setVisibility(View.GONE);
                }
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });

        btnGotoMain.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_goto_main:
                Intent intent = new Intent(this, LoginActivity.class);
                startActivity(intent);
                break;
        }
    }
}
 

public class LoginActivity extends BaseActivity implements View.OnClickListener {
    public static final int FLAG = 123;

    private EditText etUsername;
    private EditText etPassword;
    private Button btnLogin;

    private SharedPreferences sp;

    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case FLAG:
                    String result = (String) msg.obj;
                    Gson gson = new Gson();
                    LoginResult loginResult = gson.fromJson(result, LoginResult.class);
                    if (loginResult != null) {
                        if (loginResult.getCode() == 0) {
                            sp.edit().putBoolean("is_first", false).commit();
                            Intent intent = new Intent(mContext, HomeActivity.class);
                            startActivity(intent);
                        }
                    }
                    break;
            }
        }
    };

    @Override
    protected int getContentView() {
        return R.layout.activity_login;
    }

    @Override
    protected void initView() {
        etUsername = findViewById(R.id.et_username);
        etPassword = findViewById(R.id.et_password);
        btnLogin = findViewById(R.id.btn_login);
    }

    @Override
    protected void initData() {
        super.initData();
        sp = getSharedPreferences("config", MODE_PRIVATE);
    }

    @Override
    protected void setListener() {
        super.setListener();
        btnLogin.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_login:
                final String username = etUsername.getText().toString().trim();
                final String password = etPassword.getText().toString();

//                if (username.equals())

                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        String url = ServerUrl.LOGIN_URL + "mobile=" + username + "&password=" + password;
                        String result = HttpUtils.getStringFromHttp(url);
                        Message msg = Message.obtain();
                        msg.what = FLAG;
                        msg.obj = result;
                        handler.sendMessage(msg);
                    }
                }).start();


                break;
        }
    }
}

public class HomeActivity extends BaseActivity {

    private TabLayout tblNews;
    private ViewPager vpNews;

    private List<String> titles;
    private List<Fragment> fragmentList;


    @Override
    protected int getContentView() {
        return R.layout.activity_home;
    }

    @Override
    protected void initView() {
        tblNews = findViewById(R.id.tbl_news);
        vpNews = findViewById(R.id.vp_news);
    }

    @Override
    protected void initData() {
        super.initData();
        titles = new ArrayList<>();
        tblNews.setTabMode(TabLayout.MODE_SCROLLABLE);

        addData();

        fragmentList = new ArrayList<>();
        fragmentList.add(new NewsFragment());
        for (int i = 1; i < titles.size(); i++) {
            EmptyFragment fragment = EmptyFragment.newInstance(titles.get(i));
            fragmentList.add(fragment);
        }

        vpNews.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public int getCount() {
                return fragmentList.size();
            }

            @Override
            public Fragment getItem(int position) {
                return fragmentList.get(position);
            }

            @Nullable
            @Override
            public CharSequence getPageTitle(int position) {
                return titles.get(position);
            }
        });

        tblNews.setupWithViewPager(vpNews);
    }

    private void addData() {
        titles.add("关注");
        titles.add("热门");
        titles.add("新闻");
        titles.add("影视");
        titles.add("段子");
        titles.add("教育");
        titles.add("房产");
        titles.add("汽车");
        titles.add("政治");
    }
}
 

猜你喜欢

转载自blog.csdn.net/qq_41880220/article/details/82797808
04
今日推荐