zoukankan      html  css  js  c++  java
  • android下拉刷新控件之第三方开源控件的使用实现

    本次使用的第三方下拉刷新控件是:Android-Pull-Refresh,下载地址https://github.com/chrisbanes/Android-PullToRefresh

    该控件适用于:

    • ViewPager
    • HorizontalScrollView
    • ScrollView
    • WebView
    • GridView
    • ListView
    • ExpandableListView
    • ListFragment

    从github上下载解压后,将library,PullToRefreshListFragment,PullToRefreshViewPager导入项目后,右键自己新建的项目,选择Properties。进入例如以下图的页面后点击Add加入就可以:

    加入好后就可以開始编写Demo,详细代码例如以下:
    <?

    xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- The PullToRefreshListView replaces a standard ListView widget. --> <com.handmark.pulltorefresh.library.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res-auto" android:id="@+id/pull_refresh_list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:cacheColorHint="#00000000" android:divider="#19000000" android:dividerHeight="4dp" android:fadingEdge="none" android:fastScrollEnabled="false" android:footerDividersEnabled="false" android:headerDividersEnabled="false" android:smoothScrollbar="true" ptr:ptrDrawable="@drawable/ic_launcher" ptr:ptrMode="both" /> </LinearLayout>


    import java.util.ArrayList;
    import java.util.List;
    
    import android.app.Activity;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.Toast;
    
    import com.handmark.pulltorefresh.library.PullToRefreshBase;
    import com.handmark.pulltorefresh.library.PullToRefreshBase.OnLastItemVisibleListener;
    import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;
    import com.handmark.pulltorefresh.library.PullToRefreshListView;
    
    /**
     * MainActivity---利用第三方下拉刷新控件实现
     * @author seabear
     *
     */
    public class MainActivity extends Activity {
    
    	private PullToRefreshListView mPullToRefreshListView;
    	private List<String> mArrayList = new ArrayList<String>();
    	private ArrayAdapter<String> mArrayAdapter;
    	private int mNums = 0;
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		
    		mPullToRefreshListView = (PullToRefreshListView)this.findViewById(R.id.pull_refresh_list);
    		mArrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mArrayList);
    		mPullToRefreshListView.setAdapter(mArrayAdapter);
    		
    		mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener<ListView>() {
    
    			@Override
    			public void onRefresh(PullToRefreshBase<ListView> refreshView) {
    				// TODO Auto-generated method stub
    				new GetDataTask().execute();
    			}
    			
    		});
    		
    		
    	}
    	private class GetDataTask extends AsyncTask<Void, Void, String>
    	{
    
    		@Override
    		protected String doInBackground(Void... params) {
    			// Simulates a background job.
    			mNums++;
    			try {
    				Thread.sleep(2000);
    			} catch (InterruptedException e) {
    			}
    			return "第" + String.valueOf(mNums) + "行";
    		}
    
    		@Override
    		protected void onPostExecute(String result) {
    			
    			mArrayList.add(result);
    			
    			mArrayAdapter.notifyDataSetChanged();
    
    			// Call onRefreshComplete when the list has been refreshed.
    			mPullToRefreshListView.onRefreshComplete();
    
    			super.onPostExecute(result);
    		}
    		
    	}
    }
    



  • 相关阅读:
    Jmeter 断言 之 响应断言
    Jmeter 配置元件 之 HTTP信息头管理器 使用
    Jmeter 请求元件 之 察看结果树
    Jmeter 请求元件 之 HTTP请求默认值
    Jmeter 之 参数类型 分为三种:参数(parameters)类型、消息体数据(bodydata)类型、文件上传(Files Upload)类型
    Jmeter 请求元件之 Jmeter request 发送 get 、post 请求
    Jmeter 之 HTTP 请求常见状态码
    Jmeter 请求之 http 请求之请求头、响应头
    性能测试流程
    jmeter 性能分析从哪几个方面
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/6919835.html
Copyright © 2011-2022 走看看