您的位置:首页 > 其它

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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: