package fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.lx123000.R; import java.lang.reflect.Array; import java.util.ArrayList; import fage.MyFragment; /** * Created by Administrator on 2017/12/30/030. */ public class Fragment02 extends Fragment{ String path = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1"; private ViewPager vp; private TabLayout tab; private String[] arr = {"关注", "热点", "推荐", "北京", "娱乐", "体育", "教育", "科技", "历史", "地理", "视频"}; private ArrayList<Fragment> fragments; @Nullable public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment02, container, false); vp = view.findViewById(R.id.vp); tab = view.findViewById(R.id.tab); tab.setupWithViewPager(vp); //设置tab导航栏数据 for (int i = 0; i < arr.length; i++) { tab.addTab(tab.newTab().setText(arr[i]).setIcon(R.mipmap.ic_launcher)); } //给viewpage设置page页 fragments = new ArrayList<>(); for (int i = 0; i < arr.length; i++) { MyFragment myFragment = new MyFragment(); //传值 Bundle bundle = new Bundle(); bundle.putString("title",path+(i+1)); myFragment.setArguments(bundle); fragments.add(myFragment); } //适配器 vp.setAdapter(new FragmentPagerAdapter(getActivity().getSupportFragmentManager()) { @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } @Override public CharSequence getPageTitle(int position) { return arr[position]; } }); return view; } }
package fage; import android.annotation.SuppressLint; import android.os.AsyncTask; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.TextView; import com.example.lx123000.R; import com.google.gson.Gson; import java.util.List; import adapter.MyAdapter; import bean.SuperClass; import url.GetURL; /** * Created by Administrator on 2018/1/3/003. */ public class MyFragment extends Fragment { String path; private ListView lv; private TextView tv; private List<SuperClass.DataBean> list; @SuppressLint("StaticFieldLeak") @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.myfragment_item, container, false); Bundle bundle = getArguments(); lv = view.findViewById(R.id.lv); tv = view.findViewById(R.id.tv); path=bundle.getString("title"); new AsyncTask<String, String, String>() { @Override protected String doInBackground(String... strings) { String data = GetURL.getData(path); return data; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); SuperClass superClass = gson.fromJson(s, SuperClass.class); list = superClass.getData(); lv.setAdapter(new MyAdapter(list,getActivity())); } }.execute(); return view; } }