成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

PullToRefreshListView實現(xiàn)多條目加載上拉刷新和下拉加載

本文實例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內容如下

網站建設哪家好,找創(chuàng)新互聯(lián)建站!專注于網頁設計、網站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了柳城免費建站歡迎大家使用!

XML布局

主頁面main布局

<com.handmark.pulltorefresh.library.PullToRefreshListView
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/pull"
  >
</com.handmark.pulltorefresh.library.PullToRefreshListView>

pulllist布局

<ImageView
  android:layout_width="120dp"
  android:layout_height="100dp"
  android:id="@+id/iv"
  />
<TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/tv"
  />

java代碼

App頁面

package com.example.duanpengpenglx20171108;

import android.app.Application;

import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;

/**
 * Created by 朋 on 2017/11/8.
 */

public class App extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    ImageLoaderConfiguration config = new ImageLoaderConfiguration
        .Builder(this)
        .memoryCacheExtraOptions(480,800)
        .threadPoolSize(5)
        .threadPriority(Thread.NORM_PRIORITY - 2)
        .denyCacheImageMultipleSizesInMemory()
        .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation/你可以通過自己的內存緩存實現(xiàn)
        .memoryCacheSize(2 * 1024 * 1024)
        .tasksProcessingOrder(QueueProcessingType.LIFO)
        .defaultDisplayImageOptions(DisplayImageOptions.createSimple())
        .imageDownloader(new BaseImageDownloader(this, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超時時間
        .writeDebugLogs() // Remove for release app
        .build();//開始構建
//初始化imageloader;
    ImageLoader.getInstance().init(config);
  }
}

MainActivity頁面

public class MainActivity extends AppCompatActivity {


  List<Jbean.DataBean> arr = new ArrayList();
  private View view;
  private ListView lv;
  private Adapter adapter;
  int i = 0;
  private PullToRefreshListView pull;
  private Adapter adapter1;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    pull = (PullToRefreshListView) findViewById(R.id.pull);
    pull.setMode(PullToRefreshBase.Mode.BOTH);
    ListView lv = pull.getRefreshableView();
    adapter1 = new Adapter();
    lv.setAdapter(adapter1);

    new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");
    pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
      @Override
      //上拉
      public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
        arr.clear();
        i = 0;
        new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=" + i);
      }
      @Override
      //下拉加載20條
      public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
        i = i + 20;new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=" + i);

      }
    });
  }
  class MyAsyncTask extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... params) {
      String string = "";
      StringBuffer stringBuffer = new StringBuffer();
      try {
        URL url = new URL(params[0]);
        URLConnection urlConnection = url.openConnection();
        InputStream inputStream = urlConnection.getInputStream();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        while ((string = bufferedReader.readLine()) != null) {
          stringBuffer.append(string);
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
      return stringBuffer.toString();
    }

    @Override
    protected void onPostExecute(String s) {
      super.onPostExecute(s);
      Jbean fragone_bean = new Gson().fromJson(s, Jbean.class);
      List<Jbean.DataBean> data = fragone_bean.getData();
      arr.addAll(data);
      adapter1.notifyDataSetChanged();
      pull.onRefreshComplete();
    }
  }

  class Adapter extends BaseAdapter {

    @Override
    public int getCount() {
      return arr.size();
    }

    @Override
    public Object getItem(int position) {
      return arr.get(position);
    }

    @Override
    public long getItemId(int position) {
      return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
      Sj sj = new Sj();
      Jbean.DataBean dataBean = arr.get(position);
      if (convertView==null){
        convertView = View.inflate(MainActivity.this,R.layout.pulllist,null);
        sj.image=convertView.findViewById(R.id.iv);
        sj.tv=convertView.findViewById(R.id.tv);
        convertView.setTag(sj);
      }else {
        sj =(Sj) convertView.getTag();
      }
      sj.tv.setText(dataBean.getSUBTITLE());
      DisplayImageOptions options = new DisplayImageOptions.Builder()
          .cacheInMemory(true)
          .cacheOnDisk(true)
          .showImageOnLoading(R.drawable.zhengzaijiazai)
          .showImageForEmptyUri(R.drawable.zhengzaijiazai)
          .showImageOnFail(R.drawable.zhengzaijiazai)
          .bitmapConfig(Bitmap.Config.RGB_565)
          .build();
      ImageLoader.getInstance().displayImage((String) dataBean.getIMAGEURL(),sj.image,options);

      return convertView;
    }
  }
  class Sj{
    ImageView image;
    TextView tv;
  }
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

網站名稱:PullToRefreshListView實現(xiàn)多條目加載上拉刷新和下拉加載
當前網址:http://jinyejixie.com/article28/ggipcp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供商城網站、品牌網站制作、全網營銷推廣、網站設計響應式網站、小程序開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網站建設
平泉县| 台中县| 高要市| 深圳市| 呼和浩特市| 镇巴县| 广安市| 台江县| 远安县| 嵊泗县| 江城| 抚顺县| 观塘区| 清水县| 团风县| 双城市| 碌曲县| 仙桃市| 保德县| 百色市| 屏东县| 海盐县| 十堰市| 军事| 桐庐县| 喜德县| 依安县| 定南县| 灵武市| 饶阳县| 临猗县| 唐河县| 天台县| 阜阳市| 井冈山市| 乐业县| 湖北省| 高邮市| 大余县| 三都| 桦南县|