PullToRefreshListView今日头条初始页面 补充
来源:互联网 发布:2016网络彩票重启时间 编辑:程序博客网 时间:2024/05/15 21:26
Layout.xml
[html] view plain copy
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/imageview" android:layout_width="80dp" android:layout_height="80dp" android:src="@mipmap/ic_launcher" android:layout_below="@+id/textview"/> </RelativeLayout>
Bean02.java
[java] view plain copy
public class Bean02 { private String title; private String img; public Bean02(String title, String img) { this.title = title; this.img = img; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getImg() { return img; } public void setImg(String img) { this.img = img; } }
Fragment02.java
[java] view plain copy
import android.os.AsyncTask; import android.os.Bundle; 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.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshListView; 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 activity.example.com.baikaijun20170918.MainActivity; import activity.example.com.baikaijun20170918.R; import activity.example.com.baikaijun20170918.bean.Bean; import activity.example.com.baikaijun20170918.bean.Bean02; public class Fragment2 extends Fragment{ private View vieww; private PullToRefreshListView pulltorefresh; List<Bean02> list; private Myadapter myadapter; int i=1; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { vieww = inflater.inflate(R.layout.ff, container, false); return vieww; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); pulltorefresh = (PullToRefreshListView)vieww.findViewById(R.id.pulltorefresh); pulltorefresh.setMode(PullToRefreshBase.Mode.BOTH); list = new ArrayList<>(); myadapter = new Myadapter(); pulltorefresh.setAdapter(myadapter); new Myasynctask().execute("http://gank.io/api/data/Android/10/1"); pulltorefresh.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { list.clear(); i=1; new Myasynctask().execute("http://gank.io/api/data/Android/10/1"); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { i++; new Myasynctask().execute("http://gank.io/api/data/Android/10/"+i); } }); } class Myasynctask extends AsyncTask<String,Void,String>{ private StringBuilder builder; @Override protected String doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); int code = urlConnection.getResponseCode(); if(code==200){ InputStream inputStream = urlConnection.getInputStream(); BufferedReader bf = new BufferedReader(new InputStreamReader(inputStream)); builder = new StringBuilder(); String s = ""; //拼接 while((s=bf.readLine())!=null){ builder.append(s); } } } catch (Exception e) { e.printStackTrace(); } return builder.toString(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); List<Bean.ResultsBean> results = bean.getResults(); for (int i=0;i<results.size();i++){ //Log.d("TAG","sssssss"+results.get(i).getImages().get(0)); list.add(new Bean02(results.get(i).getDesc(),"http://img.gank.io/9f51b7bc-73d3-4ce4-bd59-c61cb0c64325")); } myadapter.notifyDataSetChanged(); pulltorefresh.onRefreshComplete(); } } class Myadapter extends BaseAdapter{ @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } class ViewHowder{ TextView tv; ImageView img; } @Override public View getView(int i, View view, ViewGroup viewGroup) { Bean02 bean02 = list.get(i); ViewHowder howder = null; if(view==null){ howder = new ViewHowder(); view = View.inflate(getActivity(),R.layout.layout,null); howder.tv = view.findViewById(R.id.textview); howder.img = view.findViewById(R.id.imageview); view.setTag(howder); }else{ howder = (ViewHowder) view.getTag(); } howder.tv.setText(bean02.getTitle()); ImageLoader.getInstance().displayImage(bean02.getImg(),howder.img); return view; } } }
...........................................................................................................................................................
无关联
[java] view plain copy
private PullToRefreshListView plv; private LinkedList<String> mListItems; private String [] strings = new String[]{"好","成龙","李连杰","黄晓明","成吉思汗","曹操","吕布","黄忠"}; private ArrayAdapter<String> mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); plv = (PullToRefreshListView) findViewById(R.id.plv); plv.setMode(PullToRefreshBase.Mode.BOTH); mListItems = new LinkedList<>(); mListItems.addAll(Arrays.asList(strings)); mAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, mListItems); plv.setAdapter(mAdapter); plv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { new MAsyncTask().execute(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { new MAsyncTask2().execute(); } }); } private class MAsyncTask extends AsyncTask<Void,Void,String[]>{ @Override protected void onPostExecute(String[] strings) { super.onPostExecute(strings); mListItems.addFirst("孙尚香"); mAdapter.notifyDataSetChanged(); plv.onRefreshComplete(); } @Override protected String[] doInBackground(Void... params) { new Thread(){ @Override public void run() { super.run(); try { Thread.sleep(2000); } catch (Exception e) { e.printStackTrace(); } } }.start(); return new String[0]; } }
.............................................................................................................................................................
阅读全文
0 0
- PullToRefreshListView今日头条初始页面 补充
- PullToRefreshListView今日头条初始页面
- 类似今日头条(侧拉+viewloder+PullToRefreshListView+viewpager无限轮播)
- 今日头条算法
- 面试-今日头条
- 今日头条
- 今日头条
- 今日头条
- 今日头条面试
- 今日头条导航
- 仿今日头条
- 今日头条笔试
- 今日头条面试
- 今日头条效果
- 模拟今日头条
- 今日头条模拟
- 今日头条
- 今日头条
- scala for循环
- 上传图片实现
- 《项目经验》——各类 HTTP 返回状态码原因以及解决办法
- Jquery中each的三种遍历方法
- HDU3338 Kakuro Extension【网络流】
- PullToRefreshListView今日头条初始页面 补充
- NYG的背包 (贪心)
- asp.net mvc 之旅—— 第三站 路由模板中强大的自定义IRouteConstraint约束
- 极其强大的一些js插件
- Uri详解之——Uri结构与代码提取
- C++程序抛出异常后执行顺序
- viewpager_frament_httpconnection_xlistview+双条目加载
- python实现kubernetes生成Excel报表并且Email
- 约瑟夫问题(Josephus)链表实现