Parcourir la source

本地提交 --->pre

Arison il y a 9 ans
Parent
commit
d9832f71a4

+ 39 - 16
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CompanyContactsActivity.java

@@ -1,13 +1,14 @@
 package com.xzjmyk.pm.activity.ui.erp.activity;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Color;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.text.Editable;
 import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -39,11 +40,13 @@ import com.xzjmyk.pm.activity.ui.erp.entity.Hrorgs;
 import com.xzjmyk.pm.activity.ui.erp.entity.HrorgsEntity;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomerListView;
 import com.xzjmyk.pm.activity.ui.message.ChatActivity;
 import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
+import com.xzjmyk.pm.activity.view.ClearEditText;
 import com.xzjmyk.pm.activity.view.SuperSwipeRefreshLayout;
 
 import java.text.ParseException;
@@ -63,7 +66,6 @@ import java.util.Map;
 public class CompanyContactsActivity extends BaseActivity {
 
     private Context ct;
-    private String TAG = "CompanyContactsActivity";
     //关键变量
     public static ArrayList<String> tabTitle = new ArrayList<String>(); // 标题
     public static Map<String, Object> keystore = new LinkedHashMap<>(); // 标题
@@ -72,10 +74,11 @@ public class CompanyContactsActivity extends BaseActivity {
     public CustomerListView listview;
     @ViewInject(R.id.lv_left_list)
     public CustomerListView mlistleft;
+    @ViewInject(R.id.edt_search)
+    public ClearEditText mEditText;
     String sessionId;
 
     private LayoutInflater mInflater;
-    private Activity activity;
     @ViewInject(R.id.ll_list)
     private LinearLayout ll_list;
     @ViewInject(R.id.hv_head_view)
@@ -96,7 +99,6 @@ public class CompanyContactsActivity extends BaseActivity {
     private DetailItemAdapter adapter;// 左边
     private DetailItemAdapter madapter;// 右边
     
-    private final int LOAD_SUCCESS_LOGIN = 15;
     private final int LOAD_SUCCESS_ALLDATA = 9;
     private final int UPDATE_CHANGE_MASTER = 12;
     private final int LOAD_SUCCESS_LEAFHRORG = 2;
@@ -434,7 +436,7 @@ public class CompanyContactsActivity extends BaseActivity {
     private String next_or_name;//记录下级标题栏的or_id   解决顶部导航栏点击选择问题
 
     public void initListener() {
-        //横向导航监听
+   
         rg_nav_content.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(RadioGroup group, int checkedId) {
@@ -568,24 +570,45 @@ public class CompanyContactsActivity extends BaseActivity {
                 //TODO 下拉过程中,下拉的距离是否足够出发刷新
             }
         });
+       
+        mEditText.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+                
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                if (!StringUtils.isEmpty(s.toString())){
+                    searchEmployee(s.toString());
+                }
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+
+            }
+        });
 
 
-//        reScrollView.getLoadingLayoutProxy().setPullLabel("同步数据需要时间,需要耐心等待!");
-//        reScrollView.getLoadingLayoutProxy().setReleaseLabel("释放刷新");
-//        reScrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ScrollView>() {
-//
-//            @Override
-//            public void onRefresh(PullToRefreshBase<ScrollView> refreshView) {
-//                manager.deleteData(CommonUtil.getSharedPreferences(ct, "erp_master"));
-//                LoadServerData(CommonUtil.getSharedPreferences(ct, "erp_master"), null);
-//            }
-//        });
+    }
+    
+    
+    public void searchEmployee(String key){
+        String master=CommonUtil.getSharedPreferences(ct,"erp_master");
+        Log.i(TAG, "master="+master);
+        
+        List<EmployeesEntity> eList = manager.select_getEmployee(
+                new String[]{"%"+key+"%", master},
+                "em_name like ? and whichsys=?");
+        LogUtil.prinlnLongMsg(TAG, JSON.toJSONString(eList));
+                
+       
     }
 
     private void EnterChatAction(DetailItemAdapter.ModelItem item) {
         Friend friendOne = FriendDao.getInstance().getFriend(MyApplication.getInstance().mLoginUser.getUserId(),
                 String.valueOf(item.imid));
-        Log.i(TAG, "friendOne is null " + friendOne);
         Friend friend = new Friend();
 
         friend.setUserId(String.valueOf(item.imid));

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/WorkExtraActivity.java

@@ -817,7 +817,7 @@ public class WorkExtraActivity extends BaseActivity implements OnClickListener {
         Log.i("leave", "what=" + what);
         String url = Constants.getAppBaseUrl(ct) + "mobile/common/getCombo.action";
         Map<String, String> param = new HashMap<String, String>();
-        param.put("caller", caller);
+        param.put("caller", "Workovertime");
         param.put("field", field);
         param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.getDataFormServer(ct, handler, url, param, what);

+ 331 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/message/ProcessMsgActivity.java

@@ -1,18 +1,40 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.message;
 
+import android.content.Context;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
 import android.support.v7.app.ActionBar;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.ListView;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.Constants;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.ui.erp.view.EmptyLayout;
+import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.view.ClearEditText;
 
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
 /**
   * @desc:
   * @author:Arison on 2016/11/1
@@ -24,55 +46,363 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
     @ViewInject(R.id.lv_process)
     PullToRefreshListView mList;
 
+    private EmptyLayout mEmptyLayout;
+
     @ViewInject(R.id.tv_process_me)
     private TextView tv_process_me;
     @ViewInject(R.id.tv_process_already)
     private TextView tv_process_already;
     @ViewInject(R.id.tv_process_un)
     private TextView tv_process_un;
+ 
+    @ViewInject(R.id.back)
+    private ImageView iv_back;
+
+    private ProcessAdapter mAdapter;
+    private JSONArray array=new JSONArray();
+    
+    private int tab_type=1;
+    private int page=1;
+    private final int SUSSCESS_un=1;
+    private final int SUSSCESS_already=2;
+    private final int SUSSCESS_me=3;
+    
     
     
+    private Handler mHandler=new Handler(){
+        @Override
+        public void handleMessage(Message msg) {
+            String result=msg.getData().getString("result");
+            progressDialog.dismiss();
+            mList.onRefreshComplete();
+            
+           switch (msg.what){
+               case SUSSCESS_un:
+                    JSONArray itemArray= JSON.parseObject(result).getJSONArray("data");
+                   if(page==1)array.clear();
+                    array.addAll(itemArray);
+                    if (mAdapter==null){
+                        mAdapter=new ProcessAdapter(ct,array);
+                        mList.setAdapter(mAdapter);
+                    }else {
+                        mAdapter.notifyDataSetChanged();
+                    }
+                   if (array.size()==0){
+                       mEmptyLayout.showEmpty();
+                   }
+               break;
+               case SUSSCESS_already:
+                    itemArray= JSON.parseObject(result).getJSONArray("data");
+                   if(page==1)array.clear();
+                   array.addAll(itemArray);
+                   if (mAdapter==null){
+                       mAdapter=new ProcessAdapter(ct,array);
+                       mList.setAdapter(mAdapter);
+                   }else {
+                       mAdapter.notifyDataSetChanged();
+                   }
+                   if (array.size()==0){
+                       
+                       mEmptyLayout.showEmpty();
+                   }
+                   break;
+               case SUSSCESS_me:
+                    itemArray= JSON.parseObject(result).getJSONArray("data");
+                   if(page==1)array.clear();
+                   array.addAll(itemArray);
+                   if (mAdapter==null){
+                       mAdapter=new ProcessAdapter(ct,array);
+                       mList.setAdapter(mAdapter);
+                   }else {
+                       mAdapter.notifyDataSetChanged();
+                   }
+                   if (array.size()==0){
+                       mEmptyLayout.showEmpty();
+                   }
+                   break;
+               case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                   ToastMessage(result);
+                   break;
+           }
+        }
+    };
+    
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_process_msg);
         ViewUtils.inject(this);
         initView();
+        initData();
+    }
+
+    private void initData() {
+        loadProcessToDo(page);
     }
 
     private void initView() {
+        mEmptyLayout = new EmptyLayout(this, mList.getRefreshableView());
+        mEmptyLayout.setShowEmptyButton(false);
+        mEmptyLayout.setShowErrorButton(false);
+        mEmptyLayout.setShowLoadingButton(false);
+        mEmptyLayout.showLoading();
+        
         View view = LayoutInflater.from(ct).inflate(R.layout.process_header, null);
         ActionBar bar = this.getSupportActionBar();
         bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
         tv_process_already= (TextView) view.findViewById(R.id.tv_process_already);
         tv_process_un= (TextView) view.findViewById(R.id.tv_process_un);
         tv_process_me= (TextView) view.findViewById(R.id.tv_process_me);
+        iv_back= (ImageView) view.findViewById(R.id.back);
         bar.setCustomView(view);
         tv_process_already.setOnClickListener(this);
         tv_process_me.setOnClickListener(this);
         tv_process_un.setOnClickListener(this);
         tv_process_un.setSelected(true);
-    }
+        iv_back.setOnClickListener(this);
+        //mList.setMode(PullToRefreshBase.Mode.BOTH);
+        mList.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
+            @Override
+            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
+               page=1;
+                switch (tab_type){
+                    case 1:
+                        loadProcessToDo(page);
+                        break;
+                    case 2:
+                        loadProcesstoAlreadyDo(page);
+                        break;
+                    case 3:
+                        loadProcessAlreadyLaunch(page);
+                        break;
+                }
+            }
 
+            @Override
+            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
+                page++;
+                switch (tab_type){
+                    case 1:
+                        loadProcessToDo(page);
+                        break;
+                    case 2:
+                        loadProcesstoAlreadyDo(page);
+                        break;
+                    case 3:
+                        loadProcessAlreadyLaunch(page);
+                        break;
+                }
+                
+            }
+        });
+        
+        mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                ProcessAdapter.ViewModel model= (ProcessAdapter.ViewModel) view.getTag();
+                String title="";
+                switch (tab_type){
+                    case 1:
+                        title="待审批";
+                        break;
+                    case 2:
+                        title="已审批";
+                        break;
+                    case 3:
+                        title="我发起的";
+                        break;
+                }
+                String url="jsps/mobile/jprocand.jsp?nodeId="+model.JP_NODEID;
+                CommonUtil.loadWebView(ct,url,title,CommonUtil.getSharedPreferences(ct,"erp_master"),null,null);
+            }
+        });
+    }
+  
+    
 
     @Override
     public void onClick(View v) {
         switch (v.getId()){
             case R.id.tv_process_un:
+                page=1;
+                tab_type=1;
                 tv_process_un.setSelected(true);
                 tv_process_already.setSelected(false);
                 tv_process_me.setSelected(false);
+                loadProcessToDo(page);
                 break;
             case R.id.tv_process_already:
+                page=1;
+                tab_type=2;
                 tv_process_un.setSelected(false);
                 tv_process_already.setSelected(true);
                 tv_process_me.setSelected(false);
+                loadProcesstoAlreadyDo(page);
                 break;
             case R.id.tv_process_me:
+                page=1;
+                tab_type=3;
                 tv_process_un.setSelected(false);
                 tv_process_already.setSelected(false);
                 tv_process_me.setSelected(true);
+                loadProcessAlreadyLaunch(page);
+                break;
+            case R.id.back:
+                onBackPressed();
                 break;
         }
     }
+    
+    
+    private void loadProcessToDo(int page){
+        progressDialog.show();
+        String url = Constants.getAppBaseUrl(ct) + "common/desktop/process/toDo.action";
+        Map<String, Object> params = new HashMap<>();
+       // count=10&page=1&limit=25
+        params.put("count","10");
+        params.put("page",page);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, SUSSCESS_un, null, null, "get"); 
+        
+    }
+    
+
+    private void loadProcesstoAlreadyDo(int page){
+        progressDialog.show();
+        String url = Constants.getAppBaseUrl(ct) + "common/desktop/process/alreadyDo.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("count","10");
+        params.put("page",page);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, SUSSCESS_already, null, null, "get");
+
+    }
+
+    private void loadProcessAlreadyLaunch(int page){
+        progressDialog.show();
+        String url = Constants.getAppBaseUrl(ct) + "common/desktop/process/alreadyLaunch.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("count","10");
+        params.put("page",page);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, SUSSCESS_me, null, null, "get");
+
+    }
+
+
+    public class ProcessAdapter extends BaseAdapter{
+        
+        private Context ct;
+        private LayoutInflater inflater;
+        private JSONArray jsonArray;
+        
+        ProcessAdapter(Context ct,JSONArray array){
+            this.ct=ct;
+            this.jsonArray=array;
+            this.inflater=LayoutInflater.from(ct);
+        }
+
+        @Override
+        public int getCount() {
+            return jsonArray==null?0:jsonArray.size();
+        }
+
+        @Override
+        public Object getItem(int position) {
+            return position;
+        }
+
+        @Override
+        public long getItemId(int position) {
+            return position;
+        }
+
+        @Override
+        public View getView(int position, View convertView, ViewGroup parent) {
+            ViewModel model=null;
+            if(convertView==null){
+                convertView= inflater.inflate(R.layout.item_process_state,parent,false);
+                model=new ViewModel();
+                model.name= (TextView) convertView.findViewById(R.id.tv_name);
+                model.date= (TextView) convertView.findViewById(R.id.tv_date);
+                model.status= (TextView) convertView.findViewById(R.id.tv_status);
+                convertView.setTag(model);
+            }else{
+                model= (ViewModel) convertView.getTag();
+            }
+            
+            switch (tab_type){
+                case 1:
+                    //JP_LAUNCHERNAME
+                    //JP_NAME
+                    //JP_STATUS
+                    //JP_LAUNCHTIME
+                    String jp_launchername=jsonArray.getJSONObject(position).getString("JP_LAUNCHERNAME");
+                    String jp_name=jsonArray.getJSONObject(position).getString("JP_NAME");
+                    String JP_NODEID=jsonArray.getJSONObject(position).getString("JP_NODEID");
+                    if (!StringUtils.isEmpty(jp_name))jp_name=jp_name.replace("流程","");
+                    long jp_launchtime=jsonArray.getJSONObject(position).getLong("JP_LAUNCHTIME");
+                    String jp_status=jsonArray.getJSONObject(position).getString("JP_STATUS");
+
+                    model.name.setText(jp_launchername+"的"+jp_name);
+                    model.date.setText(DateFormatUtil.getStrDate4Date(new Date(jp_launchtime),"yyyy-MM-dd HH:mm"));
+                    model.status.setText(jp_status);
+                    model.JP_NODEID=JP_NODEID;
+                    break;
+                case 2:
+                    //JN_DEALMANNAME
+                    //JP_NAME
+                    //JN_DEALTIME
+                    //JN_DEALRESULT
+                    String jn_dealmanname=jsonArray.getJSONObject(position).getString("JN_DEALMANNAME");
+                    jp_name=jsonArray.getJSONObject(position).getString("JP_NAME");
+                    JP_NODEID=jsonArray.getJSONObject(position).getString("JP_NODEID");
+                    if (!StringUtils.isEmpty(jp_name))jp_name=jp_name.replace("流程","");
+                    String jn_dealtime=jsonArray.getJSONObject(position).getString("JN_DEALTIME");
+                    String jn_dealresult=jsonArray.getJSONObject(position).getString("JN_DEALRESULT");
+
+                    model.name.setText(jn_dealmanname+"的"+jp_name);
+                    model.date.setText(jn_dealtime);
+                    model.status.setText(jn_dealresult);
+                    model.JP_NODEID=JP_NODEID;
+                    break;
+                case 3:
+                    //JP_CODEVALUE
+                    //JP_NODEDEALMANNAME
+                    //JP_STATUS
+                    //JP_LAUNCHTIME 
+                    //JP_NODEDEALMANNAME
+                    long time=jsonArray.getJSONObject(position).getLong("JP_LAUNCHTIME");
+                    String name=jsonArray.getJSONObject(position).getString("JP_NAME");
+                    String code=jsonArray.getJSONObject(position).getString("JP_CODEVALUE");
+                    String status=jsonArray.getJSONObject(position).getString("JP_STATUS");
+                    String nodename=jsonArray.getJSONObject(position).getString("JP_NODEDEALMANNAME");
+                    JP_NODEID=jsonArray.getJSONObject(position).getString("JP_NODEID");
+                    if (!StringUtils.isEmpty(status))
+                    {
+                        if (status.equals("待审批")){
+                            status="等待"+nodename+"审批";
+                        }
+                    }
+                    if (!StringUtils.isEmpty(name))name=name.substring(0,name.length()-2);
+                    model.name.setText(name+"-"+code);
+                    model.date.setText(DateFormatUtil.getStrDate4Date(new Date(time),"yyyy-MM-dd HH:mm"));
+                    model.status.setText(status);
+                    model.JP_NODEID=JP_NODEID;
+                    break;
+            }
+            
+            return convertView;
+        }
+        
+        class ViewModel{
+            TextView name;
+            TextView date;
+            TextView status;
+            String JP_NODEID;
+        }
+    }
 }

+ 5 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java

@@ -717,8 +717,11 @@ public class CommonUtil {
         intent.putExtra("master", master);
         intent.putExtra("masterId", masterId);
         intent.putExtra("uu", uu);
-        intent.putExtra("isStartApp", "true");
-        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        if(!StringUtils.isEmpty(masterId)&&!StringUtils.isEmpty(uu)) {
+            intent.putExtra("isStartApp", "true");
+        }
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+       
         context.getApplicationContext().startActivity(intent);
     }
 

+ 6 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/LogUtil.java

@@ -75,18 +75,19 @@ public class LogUtil {
 	}
 	
 	public static void prinlnLongMsg(String TAG,String responseInfo){
-		if (responseInfo.length() > 4000) {
+		if (responseInfo.length() >=3000) {
 			Log.v(TAG, "sb.length = " + responseInfo.length());
-			int chunkCount = responseInfo.length() / 4000;     // integer division
+			int chunkCount = responseInfo.length() / 3000;     // integer division
 			for (int i = 0; i <= chunkCount; i++) {
-				int max = 4000 * (i + 1);
+				int max = 3000 * (i + 1);
 				if (max >= responseInfo.length()) {
-					Log.v(TAG, "【chunk " + i + " of " + chunkCount + "】:" + responseInfo.substring(4000 * i));
+					Log.v(TAG, "【chunk " + i + " of " + chunkCount + "】:" + responseInfo.substring(3000 * i));
 				} else {
-					Log.v(TAG, "【chunk " + i + " of " + chunkCount + "】:" + responseInfo.substring(4000 * i, max));
+					Log.v(TAG, "【chunk " + i + " of " + chunkCount + "】:" + responseInfo.substring(3000 * i, max));
 				}
 			}
 		} else {
+			Log.v(TAG, "sb.length = " + responseInfo.length());
 			Log.v(TAG, responseInfo.toString());
 		}
 	}

+ 1 - 1
WeiChat/src/main/res/layout/act_staff_query_list.xml

@@ -15,7 +15,7 @@
         android:paddingTop="5dp">
 
         <com.xzjmyk.pm.activity.view.ClearEditText
-            android:id="@+id/staff_query_search_edit"
+            android:id="@+id/edt_search"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             android:layout_centerHorizontal="true"

+ 1 - 1
WeiChat/src/main/res/layout/activity_process_msg.xml

@@ -32,7 +32,7 @@
     <com.handmark.pulltorefresh.library.PullToRefreshListView
         android:id="@+id/lv_process"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
+        android:layout_height="match_parent"
         android:divider="@null"
         android:listSelector="#00000000"
         android:scrollingCache="false"

+ 4 - 2
WeiChat/src/main/res/layout/item_process_state.xml

@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical" android:layout_width="match_parent"
-    android:layout_height="wrap_content">
+    android:orientation="vertical" 
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@color/white">
 <RelativeLayout
     android:layout_width="match_parent"
     android:layout_height="match_parent">

+ 1 - 1
pullToRefershLibraryMy/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshBase.java

@@ -54,7 +54,7 @@ public abstract class PullToRefreshBase<T extends View> extends LinearLayout imp
 
 	static final String LOG_TAG = "PullToRefresh";
 
-	static final float FRICTION = 2.0f;
+	static final float FRICTION = 4.0f;
 
 	public static final int SMOOTH_SCROLL_DURATION_MS = 200;
 	public static final int SMOOTH_SCROLL_LONG_DURATION_MS = 325;