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





.............................................................................................................................................................
原创粉丝点击