瀏覽代碼

订阅UI:
解决侧滑与上下滑动的冲突
解决侧滑关闭的bug
完成后续UI
配合后台修改订阅主页面字段

RaoMeng 9 年之前
父節點
當前提交
bb10042cb2
共有 19 個文件被更改,包括 416 次插入34 次删除
  1. 71 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionAdapter.java
  2. 60 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionNumbersAdapter.java
  3. 27 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/AllSubscriptonKindMessage.java
  4. 8 8
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/SubscriptionMessage.java
  5. 8 9
      WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/SubscriptionDao.java
  6. 60 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionAllFragment.java
  7. 41 7
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionMyFragment.java
  8. 5 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SubscriptionActivity.java
  9. 二進制
      WeiChat/src/main/res/drawable-hdpi/ic_financial_statement.png
  10. 二進制
      WeiChat/src/main/res/drawable-hdpi/ic_production_plan.png
  11. 二進制
      WeiChat/src/main/res/drawable-hdpi/ic_purchase.png
  12. 二進制
      WeiChat/src/main/res/drawable-hdpi/ic_quality.png
  13. 二進制
      WeiChat/src/main/res/drawable-hdpi/ic_reserve.png
  14. 二進制
      WeiChat/src/main/res/drawable-hdpi/ic_sales.png
  15. 3 1
      WeiChat/src/main/res/layout/fragment_all_subscription.xml
  16. 14 6
      WeiChat/src/main/res/layout/fragment_my_subscription.xml
  17. 34 0
      WeiChat/src/main/res/layout/layout_all_subscription_list.xml
  18. 14 0
      WeiChat/src/main/res/layout/layout_all_subscription_number_list.xml
  19. 71 0
      library-swipemenu_lv/src/main/java/com/baoyz/swipemenulistview/MySwipeMenuListView.java

+ 71 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionAdapter.java

@@ -0,0 +1,71 @@
+package com.xzjmyk.pm.activity.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.bean.message.AllSubscriptonKindMessage;
+import com.xzjmyk.pm.activity.view.MyListView;
+
+import java.util.List;
+
+/**
+ * Created by PROD on 2016/9/7.
+ */
+public class AllSubscriptionAdapter extends BaseAdapter{
+    private Context mContext;
+    private List<AllSubscriptonKindMessage> mAllSubscriptonKindMessages;
+    private AllSubscriptionNumbersAdapter mAllSubscriptionNumbersAdapter;
+
+    public AllSubscriptionAdapter(Context mContext, List<AllSubscriptonKindMessage> mAllSubscriptonKindMessages) {
+        this.mContext = mContext;
+        this.mAllSubscriptonKindMessages = mAllSubscriptonKindMessages;
+    }
+
+
+    @Override
+    public int getCount() {
+        return mAllSubscriptonKindMessages.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return mAllSubscriptonKindMessages.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ViewHolder viewHolder = null;
+        if (convertView == null){
+            convertView = View.inflate(mContext, R.layout.layout_all_subscription_list,null);
+            viewHolder = new ViewHolder();
+
+            viewHolder.kindImageView = (ImageView) convertView.findViewById(R.id.all_subscription_kind_iv);
+            viewHolder.kindNameTextView = (TextView) convertView.findViewById(R.id.all_subscription_name_tv);
+            viewHolder.numbersListView = (MyListView) convertView.findViewById(R.id.all_subscription_number_lv);
+
+            convertView.setTag(viewHolder);
+        }else {
+            viewHolder = (ViewHolder) convertView.getTag();
+        }
+
+
+
+        return convertView;
+    }
+
+    class ViewHolder{
+        ImageView kindImageView;
+        TextView kindNameTextView;
+        MyListView numbersListView;
+    }
+}

+ 60 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionNumbersAdapter.java

@@ -0,0 +1,60 @@
+package com.xzjmyk.pm.activity.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.R;
+
+import java.util.List;
+
+/**
+ * Created by PROD on 2016/9/7.
+ */
+public class AllSubscriptionNumbersAdapter extends BaseAdapter {
+    private Context mContext;
+    private List<String > mStrings;
+
+    public AllSubscriptionNumbersAdapter(Context mContext, List<String> mStrings) {
+        this.mContext = mContext;
+        this.mStrings = mStrings;
+    }
+
+    @Override
+    public int getCount() {
+        return mStrings.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return mStrings.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ViewHolder viewHolder = null;
+        if (convertView == null){
+            convertView = View.inflate(mContext, R.layout.layout_all_subscription_number_list,null);
+            viewHolder = new ViewHolder();
+
+            viewHolder.nameTextView = (TextView) convertView.findViewById(R.id.all_subscription_list_name_tv);
+
+            convertView.setTag(viewHolder);
+        }else {
+            viewHolder = (ViewHolder) convertView.getTag();
+        }
+
+        return convertView;
+    }
+
+    class ViewHolder{
+        TextView nameTextView;
+    }
+}

+ 27 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/AllSubscriptonKindMessage.java

@@ -0,0 +1,27 @@
+package com.xzjmyk.pm.activity.bean.message;
+
+import java.util.List;
+
+/**
+ * Created by PROD on 2016/9/7.
+ */
+public class AllSubscriptonKindMessage {
+    private String subscriptionKind;
+    private List<String> subscriptionNumbers;
+
+    public String getSubscriptionKind() {
+        return subscriptionKind;
+    }
+
+    public void setSubscriptionKind(String subscriptionKind) {
+        this.subscriptionKind = subscriptionKind;
+    }
+
+    public List<String> getSubscriptionNumbers() {
+        return subscriptionNumbers;
+    }
+
+    public void setSubscriptionNumbers(List<String> subscriptionNumbers) {
+        this.subscriptionNumbers = subscriptionNumbers;
+    }
+}

+ 8 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/SubscriptionMessage.java

@@ -14,16 +14,16 @@ public class SubscriptionMessage {
     private int STATUS_;      //阅读状态
     private int EMP_ID_;
     private int RN;
-    private String SONTITLE_;
+//    private String SONTITLE_;
     private String SUMDATA_;
 
-    public String getSONTITLE_() {
-        return SONTITLE_;
-    }
-
-    public void setSONTITLE_(String SONTITLE_) {
-        this.SONTITLE_ = SONTITLE_;
-    }
+//    public String getSONTITLE_() {
+//        return SONTITLE_;
+//    }
+//
+//    public void setSONTITLE_(String SONTITLE_) {
+//        this.SONTITLE_ = SONTITLE_;
+//    }
 
     public String getSUMDATA_() {
         return SUMDATA_;

+ 8 - 9
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/SubscriptionDao.java

@@ -9,7 +9,6 @@ import android.util.Log;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.bean.message.SubscriptionMessage;
 import com.xzjmyk.pm.activity.ui.erp.db.DBOpenHelper;
-import com.xzjmyk.pm.activity.util.TimeUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -56,7 +55,7 @@ public class SubscriptionDao {
                 values.put("status_", message.getSTATUS_());
                 values.put("EMP_ID_", message.getEMP_ID_());
                 values.put("RN_", message.getRN());
-                values.put("SONTITLE_", message.getSONTITLE_());
+//                values.put("SONTITLE_", message.getSONTITLE_());
                 values.put("SUMDATA_", message.getSUMDATA_());
                 values.put("name", name);
                 k += db.insert(titleName, nullColumn, values);
@@ -116,7 +115,7 @@ public class SubscriptionDao {
             values.put("status_", message.getSTATUS_());
             values.put("EMP_ID_", message.getEMP_ID_());
             values.put("RN_", message.getRN());
-            values.put("SONTITLE_", message.getSONTITLE_());
+//            values.put("SONTITLE_", message.getSONTITLE_());
             values.put("SUMDATA_", message.getSUMDATA_());
             values.put("name", name);
             k += db.insert(titleName, nullColumn, values);
@@ -150,7 +149,7 @@ public class SubscriptionDao {
         ArrayList<SubscriptionMessage> messages = new ArrayList<>();
         SQLiteDatabase db = sqliteHelper.getReadableDatabase();
         String[] colums = {"id_", "num_id_", "instance_id_", "createdate_", "title_", "son_title_", "status_", "EMP_ID_"
-                , "RN_", "SONTITLE_", "SUMDATA_"};
+                , "RN_", "SUMDATA_"};
         String selection = null;
         String[] selectionArgs = null;
         try {
@@ -167,8 +166,8 @@ public class SubscriptionDao {
                 message.setSTATUS_(values.getInt(6));
                 message.setEMP_ID_(values.getInt(7));
                 message.setRN(values.getInt(8));
-                message.setSONTITLE_(values.getString(9));
-                message.setSUMDATA_(values.getString(10));
+//                message.setSONTITLE_(values.getString(9));
+                message.setSUMDATA_(values.getString(9));
                 messages.add(message);
             }
         } catch (SQLException e) {
@@ -187,7 +186,7 @@ public class SubscriptionDao {
         ArrayList<SubscriptionMessage> messages = new ArrayList<>();
         SQLiteDatabase db = sqliteHelper.getReadableDatabase();
         String[] colums = {"id_", "num_id_", "instance_id_", "createdate_", "title_", "son_title_", "status_", "EMP_ID_"
-                , "RN_", "SONTITLE_", "SUMDATA_"};
+                , "RN_", "SUMDATA_"};
         String selection = "createdate_>? and createdate_<?" + "  and name=?";
         String[] selectionArgs = {date + "", "" + endDate, name};
         try {
@@ -204,8 +203,8 @@ public class SubscriptionDao {
                 message.setSTATUS_(values.getInt(6));
                 message.setEMP_ID_(values.getInt(7));
                 message.setRN(values.getInt(8));
-                message.setSONTITLE_(values.getString(9));
-                message.setSUMDATA_(values.getString(10));
+//                message.setSONTITLE_(values.getString(9));
+                message.setSUMDATA_(values.getString(9));
                 messages.add(message);
             }
             values.close();

+ 60 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionAllFragment.java

@@ -1,13 +1,27 @@
 package com.xzjmyk.pm.activity.ui.erp.fragment;
 
+import android.widget.ListView;
+
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.adapter.AllSubscriptionAdapter;
+import com.xzjmyk.pm.activity.adapter.AllSubscriptionNumbersAdapter;
+import com.xzjmyk.pm.activity.bean.message.AllSubscriptonKindMessage;
+import com.xzjmyk.pm.activity.view.crouton.Crouton;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Created by PROD on 2016/9/5.
  */
 public class SubscriptionAllFragment extends BaseFragment {
     private PullToRefreshListView mPullToRefreshListView;
+    private AllSubscriptionAdapter mAllSubscriptionAdapter;
+    private List<AllSubscriptonKindMessage> mAllSubscriptonKindMessages;
+    private AllSubscriptionNumbersAdapter mAllSubscriptionNumbersAdapter;
+    private List<String> mStrings;
     @Override
     protected int getLayout() {
         return R.layout.fragment_all_subscription;
@@ -16,11 +30,57 @@ public class SubscriptionAllFragment extends BaseFragment {
     @Override
     protected void initViews() {
         mPullToRefreshListView = (PullToRefreshListView) root.findViewById(R.id.subscription_all_ptlv);
+        mAllSubscriptonKindMessages = new ArrayList<>();
+        mStrings = new ArrayList<>();
+
+        for (int i = 0; i < 10; i++) {
+            AllSubscriptonKindMessage allSubscriptonKindMessage = new AllSubscriptonKindMessage();
+            mAllSubscriptonKindMessages.add(allSubscriptonKindMessage);
+        }
+
+        mAllSubscriptionNumbersAdapter = new AllSubscriptionNumbersAdapter(getActivity(),mStrings);
+        mAllSubscriptionAdapter = new AllSubscriptionAdapter(getActivity(),mAllSubscriptonKindMessages);
+
     }
 
     @Override
     protected void initEvents() {
+        mPullToRefreshListView.setAdapter(mAllSubscriptionAdapter);
+        mPullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
+        mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
+            @Override
+            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
+                Crouton.makeText(getActivity(),"下拉刷新", 0xff99cc00,1500).show();
+                for (int i = 0; i < 10; i++) {
+                    AllSubscriptonKindMessage allSubscriptonKindMessage = new AllSubscriptonKindMessage();
+                    mAllSubscriptonKindMessages.add(allSubscriptonKindMessage);
+                }
+                mAllSubscriptionAdapter.notifyDataSetChanged();
+                mPullToRefreshListView.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        mPullToRefreshListView.onRefreshComplete();
+
+                    }
+                },1000);
+            }
+
+            @Override
+            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
+                Crouton.makeText(getActivity(),"上拉加载", 0xffff4444,1500).show();
+                AllSubscriptonKindMessage allSubscriptonKindMessage = new AllSubscriptonKindMessage();
+                mAllSubscriptonKindMessages.add(allSubscriptonKindMessage);
+
+                mAllSubscriptionAdapter.notifyDataSetChanged();
+                mPullToRefreshListView.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        mPullToRefreshListView.onRefreshComplete();
 
+                    }
+                }, 1000);
+            }
+        });
     }
 
     @Override

+ 41 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionMyFragment.java

@@ -4,10 +4,14 @@ import android.view.Gravity;
 import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.PopupWindow;
+import android.widget.ScrollView;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.baoyz.swipemenulistview.SwipeMenu;
 import com.baoyz.swipemenulistview.SwipeMenuListView;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
+import com.handmark.pulltorefresh.library.PullToRefreshScrollView;
 import com.xzjmyk.pm.activity.MySwipeMenuCreator;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.adapter.MySubscriptionAdapter;
@@ -21,11 +25,14 @@ import java.util.List;
  * Created by PROD on 2016/9/5.
  */
 public class SubscriptionMyFragment extends BaseFragment {
+    private PullToRefreshScrollView mPullToRefreshScrollView;
     private SwipeMenuListView mSwipeMenuListView;
     private List<String> mStrings = new ArrayList<>();
     private MySwipeMenuCreator mMySwipeMenuCreator;
     private MySubscriptionAdapter mMySubscriptionAdapter;
     private PopupWindow mCancleWindow;
+    private int mStartSwipe;
+    private int mEndSwipe;
     @Override
     protected int getLayout() {
         return R.layout.fragment_my_subscription;
@@ -33,10 +40,11 @@ public class SubscriptionMyFragment extends BaseFragment {
 
     @Override
     protected void initViews() {
-        for (int i = 0; i < 20; i++) {
+        for (int i = 0; i < 10; i++) {
             mStrings.add("this is item "+i);
         }
 
+        mPullToRefreshScrollView = (PullToRefreshScrollView) root.findViewById(R.id.my_subscription_ptrsv);
         mSwipeMenuListView = (SwipeMenuListView) root.findViewById(R.id.my_subscripton_smlv);
         mMySubscriptionAdapter = new MySubscriptionAdapter(getActivity(),mStrings);
         mMySwipeMenuCreator = new MySwipeMenuCreator(getActivity());
@@ -52,27 +60,29 @@ public class SubscriptionMyFragment extends BaseFragment {
         mSwipeMenuListView.setOnSwipeListener(new SwipeMenuListView.OnSwipeListener() {
             @Override
             public void onSwipeStart(int position) {
+                mStartSwipe = position;
             }
 
             @Override
             public void onSwipeEnd(int position) {
-                if ((position % 2) == 0){
+                mEndSwipe = position;
+                if ((mStartSwipe % 2) == 0) {
                     mSwipeMenuListView.smoothCloseMenu();
-
                 }
+
             }
         });
         mSwipeMenuListView.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() {
             @Override
             public boolean onMenuItemClick(int position, SwipeMenu menu, int index) {
-                View cancleView = View.inflate(getActivity(),R.layout.pop_cancle_my_subscribe,null);
+                View cancleView = View.inflate(getActivity(), R.layout.pop_cancle_my_subscribe, null);
                 TextView cancleTextView = (TextView) cancleView.findViewById(R.id.cancel_subscribe_cancle_tv);
                 TextView contineTextView = (TextView) cancleView.findViewById(R.id.cancel_subscribe_contine_tv);
 
                 cancleTextView.setOnClickListener(new View.OnClickListener() {
                     @Override
                     public void onClick(View v) {
-                        Crouton.makeText(getActivity(),"取消成功", 0xff99cc00, 1500).show();
+                        Crouton.makeText(getActivity(), "取消成功", 0xff99cc00, 1500).show();
                         closeWarningPopupWindow();
                     }
                 });
@@ -84,9 +94,9 @@ public class SubscriptionMyFragment extends BaseFragment {
                     }
                 });
 
-                mCancleWindow = new PopupWindow(cancleView, LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,true);
+                mCancleWindow = new PopupWindow(cancleView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
                 mCancleWindow.setAnimationStyle(R.style.MenuAnimationFade);
-                mCancleWindow.showAtLocation(mSwipeMenuListView, Gravity.BOTTOM,0,0);
+                mCancleWindow.showAtLocation(mSwipeMenuListView, Gravity.BOTTOM, 0, 0);
                 DisplayUtil.backgroundAlpha(getActivity(), 0.5f);
 
                 mCancleWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@@ -98,6 +108,30 @@ public class SubscriptionMyFragment extends BaseFragment {
                 return false;
             }
         });
+
+        mPullToRefreshScrollView.setMode(PullToRefreshBase.Mode.BOTH);
+        mPullToRefreshScrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
+            @Override
+            public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
+                mStrings.clear();
+                for (int i = 0; i < 10; i++) {
+                    mStrings.add("this is item "+i);
+                }
+                mMySubscriptionAdapter.notifyDataSetChanged();
+
+                Toast.makeText(getActivity(), "refresh down success", Toast.LENGTH_SHORT).show();
+                mPullToRefreshScrollView.onRefreshComplete();
+            }
+
+            @Override
+            public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
+                mStrings.add("add item");
+                mMySubscriptionAdapter.notifyDataSetChanged();
+
+                Toast.makeText(getActivity(), "refresh up success", Toast.LENGTH_SHORT).show();
+                mPullToRefreshScrollView.onRefreshComplete();
+            }
+        });
     }
 
     @Override

+ 5 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SubscriptionActivity.java

@@ -6,6 +6,7 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -66,7 +67,7 @@ public class SubscriptionActivity extends BaseActivity {
             R.drawable.list_04, R.drawable.list_05, R.drawable.list_06,
             R.drawable.list_07, R.drawable.list_08, R.drawable.list_09,
             R.drawable.list_10, R.drawable.list_11, R.drawable.list_12,
-            R.drawable.list_13, R.drawable.list_14, R.drawable.list_15,
+            R.drawable.list_13, R.drawable.list_14, R.drawable.list_15
 
     };
     private int[] srcsBig = {
@@ -82,6 +83,7 @@ public class SubscriptionActivity extends BaseActivity {
             switch (msg.what) {
                 case LOAD_NET:
                     String message =   msg.getData().getString("result");
+                    Log.e("subscribeMsg",message);
                     if (message != null && JSON.parseObject(message).containsKey("data")) {
                         String str = JSON.parseObject(message).getJSONArray("data").toJSONString();
                         SubscriptionMessages = JSON.parseArray(str, SubscriptionMessage.class);
@@ -466,9 +468,9 @@ public class SubscriptionActivity extends BaseActivity {
             } else {
                 holder = (VieweHolder) contextView.getTag();
             }
-            String sontitle = beans.get(i).getSONTITLE_() == null ? "" : beans.get(i).getSONTITLE_();
+//            String sontitle = beans.get(i).getSONTITLE_() == null ? "" : beans.get(i).getSONTITLE_();
             String sumdata = beans.get(i).getSUMDATA_() == null ? "" : beans.get(i).getSUMDATA_();
-            String chcheStr = sontitle + " : " + sumdata;
+            String chcheStr = sumdata;
             if (chcheStr.equals(":")) {
                 chcheStr = "";
             }

二進制
WeiChat/src/main/res/drawable-hdpi/ic_financial_statement.png


二進制
WeiChat/src/main/res/drawable-hdpi/ic_production_plan.png


二進制
WeiChat/src/main/res/drawable-hdpi/ic_purchase.png


二進制
WeiChat/src/main/res/drawable-hdpi/ic_quality.png


二進制
WeiChat/src/main/res/drawable-hdpi/ic_reserve.png


二進制
WeiChat/src/main/res/drawable-hdpi/ic_sales.png


+ 3 - 1
WeiChat/src/main/res/layout/fragment_all_subscription.xml

@@ -7,5 +7,7 @@
     <com.handmark.pulltorefresh.library.PullToRefreshListView
         android:id="@+id/subscription_all_ptlv"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
+        android:layout_height="match_parent"
+        android:divider="@color/item_line"
+        android:dividerPadding="1dp"/>
 </LinearLayout>

+ 14 - 6
WeiChat/src/main/res/layout/fragment_my_subscription.xml

@@ -1,13 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.handmark.pulltorefresh.library.PullToRefreshScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/my_subscription_ptrsv"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
 
-    <com.baoyz.swipemenulistview.SwipeMenuListView
-        android:id="@+id/my_subscripton_smlv"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:divider="@color/gray_light"
-        android:dividerHeight="1dp"/>
-</LinearLayout>
+        android:orientation="vertical">
+
+        <com.baoyz.swipemenulistview.MySwipeMenuListView
+            android:id="@+id/my_subscripton_smlv"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:divider="@color/gray_light"
+            android:dividerHeight="1dp"/>
+
+    </LinearLayout>
+</com.handmark.pulltorefresh.library.PullToRefreshScrollView>

+ 34 - 0
WeiChat/src/main/res/layout/layout_all_subscription_list.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:padding="6dp">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:orientation="horizontal"
+        android:gravity="center_vertical"
+        android:padding="5dp">
+        <ImageView
+            android:id="@+id/all_subscription_kind_iv"
+            android:layout_width="30dp"
+            android:layout_height="30dp"
+            android:src="@drawable/ic_sales"
+            android:layout_marginLeft="6dp"/>
+        <TextView
+            android:id="@+id/all_subscription_name_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:textSize="20sp"
+            android:gravity="center_vertical"
+            android:layout_marginLeft="10dp"
+            android:text="财务报表"/>
+    </LinearLayout>
+    <com.xzjmyk.pm.activity.view.MyListView
+        android:id="@+id/all_subscription_number_lv"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        />
+</LinearLayout>

+ 14 - 0
WeiChat/src/main/res/layout/layout_all_subscription_number_list.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="40dp"
+    android:padding="5dp">
+
+    <TextView
+        android:id="@+id/all_subscription_list_name_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerInParent="true"
+        android:text="XXXXXX"
+        android:textSize="18sp"/>
+</RelativeLayout>

+ 71 - 0
library-swipemenu_lv/src/main/java/com/baoyz/swipemenulistview/MySwipeMenuListView.java

@@ -0,0 +1,71 @@
+package com.baoyz.swipemenulistview;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.GestureDetector;
+import android.view.MotionEvent;
+import android.view.View;
+
+/**
+ * Created by PROD on 2016/9/7.
+ */
+public class MySwipeMenuListView extends SwipeMenuListView {
+    private GestureDetector mGestureDetector;
+    private View.OnTouchListener mGestureListener;
+
+    public MySwipeMenuListView(Context context) {
+        super(context);
+        mGestureDetector = new GestureDetector(context,onGestureListener);
+    }
+
+    public MySwipeMenuListView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+        mGestureDetector = new GestureDetector(context,onGestureListener);
+    }
+
+    public MySwipeMenuListView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        mGestureDetector = new GestureDetector(context,onGestureListener);
+    }
+
+
+    @Override
+    public boolean onTouchEvent(MotionEvent ev) {
+        boolean b =  mGestureDetector.onTouchEvent(ev);
+        Log.w("MyLog", "-- " + b + " --");
+        return super.onTouchEvent(ev);
+    }
+
+    private GestureDetector.OnGestureListener onGestureListener = new GestureDetector.SimpleOnGestureListener(){
+        @Override
+        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
+            if (distanceY != 0 && distanceX != 0) {
+            }
+            if (Math.abs(distanceY) >= Math.abs(distanceX)) {
+                return true;
+            }
+            //当手指触到listview的时候,让父ScrollView交出ontouch权限,也就是让父scrollview 停住不能滚动
+            setParentScrollAble(false);
+
+            return super.onScroll(e1, e2, distanceX, distanceY);
+        }
+    };
+
+    /**
+     * 是否把滚动事件交给父scrollview
+     *
+     * @param flag
+     */
+    private void setParentScrollAble(boolean flag) {
+        //这里的parentScrollView就是listview外面的那个scrollview
+        Log.w("MyLog", "setParentScrollAble -- " + flag);
+        getParent().requestDisallowInterceptTouchEvent(!flag);
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2 , MeasureSpec.AT_MOST);
+        super.onMeasure(widthMeasureSpec, expandSpec);
+    }
+}