PullToRefreshLayout加网络请求数据
来源:互联网 发布:最短查找时间优先算法 编辑:程序博客网 时间:2024/06/16 06:00
package com.hanhai.day_14y;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import com.google.gson.Gson;import com.jwenfeng.library.pulltorefresh.BaseRefreshListener;import com.jwenfeng.library.pulltorefresh.PullToRefreshLayout;import com.nostra13.universalimageloader.core.ImageLoader;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;import fragmentkj.Dataa;import fragmentkj.JsonRootBeann;public class NewsFragment extends Fragment { PullToRefreshLayout prl; private ListView lv; private String jsonString=""; private Masd masd; private List<Dataa> datas = new ArrayList<Dataa>(); private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { Masd masd = new Masd(); lv.setAdapter(masd); } }; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.news_layout, container, false); prl =(PullToRefreshLayout) view.findViewById(R.id.prl); lv = (ListView) view.findViewById(R.id.list_view); prl.setRefreshListener(new BaseRefreshListener() { @Override public void refresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { prl.finishRefresh(); } },2000); } @Override public void loadMore() { new Handler().postDelayed(new Runnable() { @Override public void run() { prl.finishLoadMore(); } },2000); } }); return view; } class Masd extends BaseAdapter{ @Override public int getCount() { return datas.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { View v = View.inflate(getActivity(), R.layout.item, null); ImageView img = (ImageView) v.findViewById(R.id.img); TextView tv = (TextView) v.findViewById(R.id.tv); ImageLoader.getInstance().displayImage(datas.get(i).getThumbnail_pic_s(),img); tv.setText(datas.get(i).getTitle()); return v; } } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Bundle bundle = getArguments(); String string = bundle.getString("name", "top"); getDataFromNet(string); } private void getDataFromNet(final String string) { new Thread(){ @Override public void run() { 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=getwangl(inputStream,"utf-8"); Gson gson = new Gson(); JsonRootBeann jsons = gson.fromJson(json, JsonRootBeann.class); datas=jsons.getResult().getData(); Message message = new Message(); Bundle bundle = new Bundle(); bundle.putString("s",datas.toString()); message.setData(bundle); handler.sendMessage(message); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } private String getwangl(InputStream inputStream, String s) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream, s); BufferedReader reader = new BufferedReader(inputStreamReader); StringBuilder builder = new StringBuilder(); String cou; while ((cou=reader.readLine())!=null){ builder.append(cou); } inputStream.close(); reader.close(); jsonString=builder.toString(); return builder.toString(); } catch (Exception e) { e.printStackTrace(); } return null; }}//布局文件<com.jwenfeng.library.pulltorefresh.PullToRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/prl" android:orientation="vertical"> <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView></com.jwenfeng.library.pulltorefresh.PullToRefreshLayout>
阅读全文
0 0
- PullToRefreshLayout加网络请求数据
- RXjava加okhttp 请求请求网络数据
- Fragment加网络请求数据HttpClient
- 网络请求数据加滑动加载
- PullToRefreshListView加请求网络数据+imageloder
- PullToRefreshLayout
- 请求数据加全选
- MVP请求网络数据上拉刷新下拉加载加断点续传
- 网络数据请求
- qml 请求网络数据
- 网络请求数据解析
- iOS网络数据请求
- 请求网络数据JSON
- 网络请求数据
- 网络请求数据
- 网络数据请求
- 网络异步请求数据
- IOS_UI_网络数据请求
- QT加载jpg、jpeg、gif图片不可见问题解决
- html 空白汉字占位符 
- Android --- 布局属性
- Service学习笔记(一)
- java-sdk 异常java.lang.ClassNotFoundException: org.apache.http.ssl.TrustStrategy
- PullToRefreshLayout加网络请求数据
- redis如何防止并发?
- Python新式类与经典类区别,钻石搜索模式
- 六.Linux用户和用户组管理
- 冷启动
- Ne10库编译使用
- 48. Rotate Image
- 我是怎么破掉公司分析的一款软件的时间检验的
- linux, Bad UDP length > IP PAYLOAD length