TabLayout && ViewPager _动态添加Fragnent
2017-09-13 23:19
471 查看
package com.example.toutiao; 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 com.google.gson.Gson; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.List; /** * Created by 霍长生 on 2017/9/13 0013. */ public class NewsFragment extends Fragment { private ListView dan; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.list_view, container, false); dan = view.findViewById(R.id.dan); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); //获取传递的信息 Bundle arguments = getArguments(); //默认是top在切换的时候会将其原先的name替换 String string = arguments.getString("name", "top"); //调用请求数据的方法 getDataFromNet(string); } //调用请求网络的数据 private void getDataFromNet(final String string) { AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... voids) { String path = "http://v.juhe.cn/toutiao/index?type="+string+"&key=597b4f9dcb50e051fd725a9ec54d6653"; try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); //设置 connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); //获取 int responseCode = connection.getResponseCode(); if (responseCode == 200){ InputStream inputStream = connection.getInputStream(); String json = streamToString(inputStream,"utf-8"); return json; } } catch (Exception e) { e.printStackTrace(); } return ""; } @Override protected void onPostExecute(String json) { Gson gson = new Gson(); DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class); List<DataDataBean.ResultBean.DataBean> list = dataDataBean.getResult().getData(); MyAdapter myAdapter = new MyAdapter(getActivity(), list); dan.setAdapter(myAdapter); } }; asyncTask.execute(); } private String streamToString(InputStream inputStream,String charset) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream, charset); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String s = null; StringBuilder builder = new StringBuilder(); while ((s = bufferedReader.readLine()) != null) { builder.append(s); } bufferedReader.close(); return builder.toString(); } catch (Exception e) { e.printStackTrace(); } return null; } }
相关文章推荐
- TabLayout && ViewPager _布局文件
- Android TabLayout的使用(ViewPager添加标题)
- TabLayout+ViewPager动态创建Fragment
- viewpager+fragment+Tab动态添加删除,求大神指教有什么好思路
- TabLayout && ViewPager _MyActivity(主页)
- TabLayout两种添加tab方式,结合ViewPager+Fragment实现常见界面视图
- ViewPager+Fragment实现TabHost,Fragment动态添加、删除,Tab选项卡跟随滑动
- 【Android 基础】ViewPager&TabLayout使用简例
- Android开发:顶部&底部Tab导航栏实现(TabLayout+ViewPager+Fragment)
- 首页-底部&顶部Tab导航(菜单栏)的实现:TabLayout+ViewPager+Fragment
- TabLayout + ViewPager + Fragment 实现动态框架
- TabLayout两种添加tab方式,结合ViewPager+Fragment实现常见界面视图
- Material Design 系列(4)—TabLayout&ViewPager&Fragment
- Tablayout与Viewpager里添加Xlistview实现上拉下拉
- Android应用ViewPager和TabLayout动态加载Fragment,并实现view和tab动态刷新。
- TabLayout+ViewPager实现选项卡动态滑动效果
- Inflater&TabLayout&ViewPager
- ViewPager+Fragment实现TabHost,Fragment动态添加、删除,Tab选项卡跟随滑动
- Android TabLayout与ViewPager实现动态Tab
- 置顶TabLayout配合动态高度ViewPager效果实现