package com.yyquan.jzh.fragment.news; import android.content.Intent; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.AsyncHttpResponseHandler; import com.yyquan.jzh.R; import com.yyquan.jzh.adapter.MainFragmentPagerAdapter; import com.yyquan.jzh.entity.Ip; import com.yyquan.jzh.entity.News_type; import com.yyquan.jzh.fragment.news.titleFragment; import com.yyquan.jzh.view.DialogView; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; import cz.msebera.android.httpclient.Header; public class NewsFragment extends Fragment { private View view; private TabLayout lauout; private ViewPager mViewpager; private MainFragmentPagerAdapter mPageAdapter; private List<Fragment> childFragments; private List<News_type> list; private String url = Ip.ip + "/YfriendService/DoGetType"; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_news, container, false); initialView(); getNewsTitle(); return view; } /** * 获取新闻的类型 */ private void getNewsTitle() { DialogView.show(); AsyncHttpClient client = new AsyncHttpClient(); client.get(url, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { String str = new String(responseBody); if (str != null) { try { list = new ArrayList<News_type>(); JSONObject object = new JSONObject(str); if (object.getString("code").equals("success")) { JSONArray array = object.getJSONArray("data"); for (int i = 0; i < array.length(); i++) { JSONObject object1 = array.getJSONObject(i); News_type news_type = new News_type(); news_type.setId(object1.getInt("id")); news_type.setType_name(object1.getString("type_name")); news_type.setType_url(object1.getString("type_url")); list.add(news_type); } initialData(); } } catch (JSONException e) { e.printStackTrace(); } } else { } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { } }); } /** * 初始化数据 */ private void initialData() { { childFragments = new ArrayList<Fragment>(); for (int i = 0; i < list.size(); i++) { childFragments.add(titleFragment.newInstance(list.get(i))); } mPageAdapter = new MainFragmentPagerAdapter(getChildFragmentManager(), list, childFragments); mViewpager.setAdapter(mPageAdapter); lauout.setupWithViewPager(mViewpager); lauout.setTabMode(TabLayout.MODE_FIXED); DialogView.dismiss(); } } /** * 初始化控件 */ private void initialView() { lauout = (TabLayout) view.findViewById(R.id.id_pageindicator); mViewpager = (ViewPager) view.findViewById(R.id.id_viewpager); DialogView.Initial(getActivity(),"正在加载文章......"); } @Override public void onDestroyView() { super.onDestroyView(); if (view != null) { ViewGroup vg = (ViewGroup) view.getParent(); vg.removeView(view); } } }