Browse Source

已订阅本地存储

RaoMeng 9 years ago
parent
commit
4ad95685ba

+ 8 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/MySubscriptionAdapter.java

@@ -15,6 +15,7 @@ import android.widget.TextView;
 
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.PersonalSubscriptionBean;
+import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 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;
@@ -39,10 +40,12 @@ public class MySubscriptionAdapter extends BaseAdapter {
     private final static int REMOVE_MY_SUBSCRIPTION = 13;
     private int mCanclePosition;
     private PopupWindow mCancleWindow;
+    private DBManager mDbManager;
 
     public MySubscriptionAdapter(Context mContext, List<PersonalSubscriptionBean> mPersonalSubscriptionBeans) {
         this.mContext = mContext;
         this.mPersonalSubscriptionBeans = mPersonalSubscriptionBeans;
+        mDbManager = new DBManager(mContext);
         progressDialog = CustomProgressDialog.createDialog(mContext);
         mImageIds = new ArrayList<>();
         mImageIds.add(R.drawable.ic_subscription_icon1);
@@ -163,10 +166,14 @@ public class MySubscriptionAdapter extends BaseAdapter {
                 case REMOVE_MY_SUBSCRIPTION:
                     progressDialog.dismiss();
                     Crouton.makeText(mContext, "取消订阅成功");
+                    mDbManager.deleteFromMySubs(mPersonalSubscriptionBeans.get(mCanclePosition));
                     mPersonalSubscriptionBeans.remove(mCanclePosition);
                     notifyDataSetChanged();
                     break;
-
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    progressDialog.dismiss();
+                    Crouton.makeText(mContext, msg.getData().getString("result"), 1500);
+                    break;
             }
         }
     };

+ 77 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/SubsTypeAdapter.java

@@ -0,0 +1,77 @@
+package com.xzjmyk.pm.activity.adapter;
+
+import android.content.Context;
+import android.graphics.Color;
+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 RaoMeng on 2016/10/20.
+ */
+public class SubsTypeAdapter extends BaseAdapter {
+    private List<String> keyStrings;
+    private Context mContext;
+    private int mSelectItem;
+
+    public SubsTypeAdapter(Context mContext,List<String> keyStrings) {
+        this.keyStrings = keyStrings;
+        this.mContext = mContext;
+    }
+
+    @Override
+    public int getCount() {
+        return keyStrings.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return keyStrings.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    public void setSelectItem(int mSelectItem){
+        this.mSelectItem = mSelectItem;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ViewHolder viewHolder = null;
+        if (convertView == null){
+            convertView = View.inflate(mContext, R.layout.list_subs_type,null);
+            viewHolder = new ViewHolder();
+            viewHolder.typeTextView = (TextView) convertView.findViewById(R.id.list_subs_type_tv);
+
+            convertView.setTag(viewHolder);
+        }else {
+            viewHolder = (ViewHolder) convertView.getTag();
+        }
+        viewHolder.typeTextView.setText(keyStrings.get(position));
+        if (mSelectItem == position){
+            viewHolder.typeTextView.setSelected(true);
+            viewHolder.typeTextView.setPressed(true);
+            viewHolder.typeTextView.setTextColor(Color.RED);
+            convertView.setBackgroundColor(Color.WHITE);
+        }else {
+            viewHolder.typeTextView.setSelected(false);
+            viewHolder.typeTextView.setPressed(false);
+            viewHolder.typeTextView.setTextColor(Color.BLACK);
+            convertView.setBackgroundColor(Color.parseColor("#FFE2E0E0"));
+        }
+        return convertView;
+    }
+
+    class ViewHolder{
+        TextView typeTextView;
+    }
+}

+ 9 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/PersonalSubscriptionBean.java

@@ -9,6 +9,15 @@ public class PersonalSubscriptionBean {
     private String KIND;
     private String TYPE;
     private int ISAPPLED;
+    private String MASTER;
+
+    public String getMASTER() {
+        return MASTER;
+    }
+
+    public void setMASTER(String MASTER) {
+        this.MASTER = MASTER;
+    }
 
     public int getNUM_ID() {
         return NUM_ID;

+ 33 - 32
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/SubscribeDetailActivity.java

@@ -42,7 +42,7 @@ import java.util.Map;
  */
 public class SubscribeDetailActivity extends BaseActivity {
     private ImageView mHeadImageView;
-    private TextView mNameTextView,mTitleTextView,mContentTextView;
+    private TextView mNameTextView, mTitleTextView, mContentTextView;
     private Button mApplyButton;
     private int mSubId = -1;
     private String mSubName;
@@ -57,11 +57,11 @@ public class SubscribeDetailActivity extends BaseActivity {
     private WebView mWebView;
     private String subscribeUrl;
 
-    private Handler mHandler = new Handler(){
+    private Handler mHandler = new Handler() {
         @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
         @Override
         public void handleMessage(Message msg) {
-            switch (msg.what){
+            switch (msg.what) {
                 case APPLY_DETAIL_SUBSCRIPTION:
                     progressDialog.dismiss();
                     Log.d("applysubscription", msg.getData().getString("result"));
@@ -70,14 +70,14 @@ public class SubscribeDetailActivity extends BaseActivity {
                     mApplyButton.setText("已申请");
                     mApplyButton.setEnabled(false);
                     Intent intent = new Intent();
-                    intent.putExtra("status",mSubStatus);
-                    SubscribeDetailActivity.this.setResult(9,intent);
+                    intent.putExtra("status", mSubStatus);
+                    SubscribeDetailActivity.this.setResult(9, intent);
                     break;
                 case REMOVE_MY_SUBSCRIPTION:
                     progressDialog.dismiss();
                     Crouton.makeText(mContext, "取消订阅成功");
                     Intent myIntent = new Intent();
-                    setResult(44,myIntent);
+                    setResult(44, myIntent);
                     mApplyButton.setText("+订阅");
                     flag = "all";
                     break;
@@ -88,6 +88,7 @@ public class SubscribeDetailActivity extends BaseActivity {
             }
         }
     };
+    private String loginSession;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -95,13 +96,13 @@ public class SubscribeDetailActivity extends BaseActivity {
         setContentView(R.layout.activity_subscribe_detail);
         getSupportActionBar().setTitle("订阅号详情");
         intent = getIntent();
-        if (intent != null){
+        if (intent != null) {
             mSubId = intent.getIntExtra("subId", 0);
             mSubName = intent.getStringExtra("subTitle");
             flag = intent.getStringExtra("flag");
-            if ("all".equals(flag)){
+            if ("all".equals(flag)) {
                 mSubStatus = intent.getIntExtra("subStatus", 0);
-            }else if ("my".equals(flag)){
+            } else if ("my".equals(flag)) {
                 mIsApplied = intent.getIntExtra("isApplied", -1);
             }
         }
@@ -130,7 +131,7 @@ public class SubscribeDetailActivity extends BaseActivity {
                         SHARE_MEDIA.WEIXIN_FAVORITE,
                         SHARE_MEDIA.MORE)
                         .withTitle("UU互联")
-                        .withText("UU互联 Android客户端"+ DeviceInfoUtil.getVersionName(mContext))
+                        .withText("UU互联 Android客户端" + DeviceInfoUtil.getVersionName(mContext))
                         .withMedia(new UMImage(activity, "http://img.my.csdn.net/uploads/201609/30/1475204542_1365.png"))
                         .withTargetUrl("http://www.usoftchina.com/usoft/uas_client.html")
                         .setCallback(CommonUtil.umShareListener)
@@ -147,7 +148,7 @@ public class SubscribeDetailActivity extends BaseActivity {
         mApplyButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                if (flag == null || mSubId == -1){
+                if (flag == null || mSubId == -1) {
                     return;
                 }
                 if ("all".equals(flag)) {
@@ -221,43 +222,43 @@ public class SubscribeDetailActivity extends BaseActivity {
     private void sendApplySubs() {
         progressDialog.show();
         String applyUrl = Constants.getAppBaseUrl(mContext) + "common/charts/vastAddSubsApply.action";
-        Map<String,Object> params = new HashMap<>();
-        params.put("ids",mSubId);
+        Map<String, Object> params = new HashMap<>();
+        params.put("ids", mSubId);
         params.put("caller", "VastAddSubsApply");
 
-        LinkedHashMap<String,Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(mContext, "sessionId"));
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("sessionUser", CommonUtil.getSharedPreferences(mContext, "erp_username"));
         ViewUtil.httpSendRequest(mContext, applyUrl, params, mHandler, headers, APPLY_DETAIL_SUBSCRIPTION, null, null, "post");
     }
 
     private void initDatas() {
-        if (!TextUtils.isEmpty(mSubName)){
+        if (!TextUtils.isEmpty(mSubName)) {
             mNameTextView.setText(mSubName);
         }
-        if (mSubStatus != -1){
-            if (mSubStatus == 1){
+        if (mSubStatus != -1) {
+            if (mSubStatus == 1) {
                 mApplyButton.setText("已订阅");
                 mApplyButton.setEnabled(false);
-            }else if (mSubStatus == 2){
+            } else if (mSubStatus == 2) {
                 mApplyButton.setText("已申请");
                 mApplyButton.setEnabled(false);
-            }else if (mSubStatus == 3){
+            } else if (mSubStatus == 3) {
                 mApplyButton.setText("+订阅");
                 mApplyButton.setEnabled(true);
             }
         }
-        if (mIsApplied != -2){
-//            if (mIsApplied == -1){
+        if (mIsApplied != -2) {
+            if (mIsApplied == -1) {
                 mApplyButton.setText("-退订");
                 mApplyButton.setEnabled(true);
-//            }else if (mIsApplied == 0){
-//                mApplyButton.setText("该订阅号不可退订");
-//                mApplyButton.setEnabled(false);
-//            }
+            } else if (mIsApplied == 0) {
+                mApplyButton.setText("该订阅号不可退订");
+                mApplyButton.setEnabled(false);
+            }
         }
-        if (subscribeUrl != null){
-            LinkedHashMap<String,String> headers = new LinkedHashMap<>();
-            headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(mContext, "sessionId"));
+        if (subscribeUrl != null) {
+            LinkedHashMap<String, String> headers = new LinkedHashMap<>();
+            headers.put("sessionUser", CommonUtil.getSharedPreferences(mContext, "erp_username"));
             mWebView.loadUrl(subscribeUrl, headers);
         }
     }
@@ -281,10 +282,10 @@ public class SubscribeDetailActivity extends BaseActivity {
         mWebView.setWebViewClient(new WebViewClient());
         subscribeUrl = Constants.getAppBaseUrl(this) + "common/charts/mobilePreview.action?id="
                 +mSubId+"&sessionId="+CommonUtil.getSharedPreferences(ct, "sessionId")
-                +"&sessionUser="+CommonUtil.getSharedPreferences(ct, "erp_username")
                 +"&master="+CommonUtil.getSharedPreferences(ct,"erp_master");
-//        subscribeUrl = "http://192.168.253.200:8080/spring-mvc-showcase/client/info";
 
-        Log.d("subsurl: ",subscribeUrl);
+        Log.d("subsurl: ", subscribeUrl);
     }
+
+
 }

+ 91 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBManager.java

@@ -5,6 +5,7 @@ import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteStatement;
 
+import com.xzjmyk.pm.activity.bean.PersonalSubscriptionBean;
 import com.xzjmyk.pm.activity.bean.SubscriptionNumber;
 import com.xzjmyk.pm.activity.ui.erp.entity.B2BMsg;
 import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
@@ -556,13 +557,102 @@ public class DBManager {
         }
     }
 
-    public void deleteMasterSubs(String master){
+    public void deleteMasterAllSubs(String master){
         String table = "AllSubs";
         String[] whereArgs = {master};
         String whereClause = "subs_master=? ";
         db.delete(table, whereClause, whereArgs);
     }
 
+    /**************************************************************************
+     ************** 已订阅表AllSubs操作  ***************************************
+     *************************************************************************/
+    public void saveToMySubs(PersonalSubscriptionBean personalSubscriptionBean) {
+        String saveSql = "replace into MySubs(subs_id,subs_title,subs_kind,subs_type,subs_applied,subs_master) values (?,?,?,?,?,?)";
+        SQLiteStatement sqLiteStatement = db.compileStatement(saveSql);
+        sqLiteStatement.bindLong(1, personalSubscriptionBean.getNUM_ID());
+        sqLiteStatement.bindString(2, personalSubscriptionBean.getTITLE());
+        sqLiteStatement.bindString(3, personalSubscriptionBean.getKIND());
+        sqLiteStatement.bindString(4, personalSubscriptionBean.getTYPE());
+        sqLiteStatement.bindLong(5, personalSubscriptionBean.getISAPPLED());
+        sqLiteStatement.bindString(6,personalSubscriptionBean.getMASTER());
+        sqLiteStatement.execute();
+    }
+
+    public void saveListToMySubs(List<PersonalSubscriptionBean> personalSubscriptionBeans){
+        String saveSql = "replace into MySubs(subs_id,subs_title,subs_kind,subs_type,subs_applied,subs_master) values (?,?,?,?,?,?)";
+        SQLiteStatement sqLiteStatement = db.compileStatement(saveSql);
+        for (int i = 0; i < personalSubscriptionBeans.size(); i++) {
+            PersonalSubscriptionBean personalSubscriptionBean = personalSubscriptionBeans.get(i);
+            sqLiteStatement.bindLong(1, personalSubscriptionBean.getNUM_ID());
+            sqLiteStatement.bindString(2, personalSubscriptionBean.getTITLE());
+            sqLiteStatement.bindString(3, personalSubscriptionBean.getKIND());
+            sqLiteStatement.bindString(4, personalSubscriptionBean.getTYPE());
+            sqLiteStatement.bindLong(5, personalSubscriptionBean.getISAPPLED());
+            sqLiteStatement.bindString(6,personalSubscriptionBean.getMASTER());
+            sqLiteStatement.execute();
+        }
+    }
+
+    public List<PersonalSubscriptionBean> queryFromMySubs(String[] selectionArgs, String selection){
+        List<PersonalSubscriptionBean> personalSubscriptionBeans = new ArrayList<PersonalSubscriptionBean>();
+        String table = "MySubs";
+        String groupBy = null;
+        String having = null;
+        String orderBy = null;
+        Cursor cursor = db.query(table, null, selection, selectionArgs, groupBy, having, orderBy);
+        while (cursor.moveToNext()) {
+            PersonalSubscriptionBean personalSubscriptionBean = new PersonalSubscriptionBean();
+            personalSubscriptionBean.setNUM_ID(cursor.getInt(cursor.getColumnIndex("subs_id")));
+            personalSubscriptionBean.setTITLE(cursor.getString(cursor.getColumnIndex("subs_title")));
+            personalSubscriptionBean.setKIND(cursor.getString(cursor.getColumnIndex("subs_kind")));
+            personalSubscriptionBean.setTYPE(cursor.getString(cursor.getColumnIndex("subs_type")));
+            personalSubscriptionBean.setISAPPLED(cursor.getInt(cursor.getColumnIndex("subs_applied")));
+            personalSubscriptionBean.setMASTER(cursor.getString(cursor.getColumnIndex("subs_master")));
+            personalSubscriptionBeans.add(personalSubscriptionBean);
+        }
+        cursor.close();
+
+        return personalSubscriptionBeans;
+    }
+
+
+    public void updateMySubs(PersonalSubscriptionBean personalSubscriptionBean) {
+        String sql = "update MySubs"
+                + " set subs_applied=?"
+                + " where subs_id=? and subs_master=? ;";
+        SQLiteStatement sta = db.compileStatement(sql);
+        sta.bindLong(1, personalSubscriptionBean.getISAPPLED());
+        sta.bindLong(2, personalSubscriptionBean.getNUM_ID());
+        sta.bindString(3, personalSubscriptionBean.getMASTER());
+        sta.executeInsert();
+    }
+
+    public void deleteFromMySubs(PersonalSubscriptionBean personalSubscriptionBean) {
+        String table = "MySubs";
+        String[] whereArgs = {String.valueOf(personalSubscriptionBean.getNUM_ID()), personalSubscriptionBean.getMASTER()};
+        String whereClause = "subs_id=? and subs_master=? ";
+        db.delete(table, whereClause, whereArgs);
+    }
+
+    public void deleteListFromMySubs(List<PersonalSubscriptionBean> personalSubscriptionBeans){
+        for (int i = 0; i < personalSubscriptionBeans.size(); i++) {
+            PersonalSubscriptionBean personalSubscriptionBean = personalSubscriptionBeans.get(i);
+            String table = "MySubs";
+            String[] whereArgs = {String.valueOf(personalSubscriptionBean.getNUM_ID()), personalSubscriptionBean.getMASTER()};
+            String whereClause = "subs_id=? and subs_master=? ";
+            db.delete(table, whereClause, whereArgs);
+        }
+    }
+
+    public void deleteMasterMySubs(String master){
+        String table = "MySubs";
+        String[] whereArgs = {master};
+        String whereClause = "subs_master=? ";
+        db.delete(table, whereClause, whereArgs);
+    }
+
+
     /**
      * close database
      */

+ 3 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBOpenHelper.java

@@ -13,7 +13,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.Constants;
  */
 public class DBOpenHelper extends SQLiteOpenHelper {
 
-    private static final int DATABASE_VERSION = 54;//数据库版本号(每添加一个表要增加版本号)
+    private static final int DATABASE_VERSION = 55;//数据库版本号(每添加一个表要增加版本号)
     public static String dataBaseName = "erp.db";//数据库名称
     public Context context;
 
@@ -36,6 +36,7 @@ public class DBOpenHelper extends SQLiteOpenHelper {
         db.execSQL(Constants.OA_SIGNIN_TIME);//创建OA签到记录表
         db.execSQL(Constants.SubscriptionMessage);//
         db.execSQL(Constants.TABLE_ALL_SUBSCRIPTION);//未订阅列表
+        db.execSQL(Constants.TABLE_MY_SUBSCRIPTION);//已订阅列表
     }
 
     @Override
@@ -47,6 +48,7 @@ public class DBOpenHelper extends SQLiteOpenHelper {
         db.execSQL("DROP TABLE IF EXISTS Signin");
         db.execSQL("DROP TABLE IF EXISTS SubscriptionMessage");
         db.execSQL("DROP TABLE IF EXISTS AllSubs");
+        db.execSQL("DROP TABLE IF EXISTS MySubs");
         onCreate(db);
     }
 

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

@@ -4,22 +4,19 @@ import android.content.Intent;
 import android.os.Handler;
 import android.os.Message;
 import android.util.Log;
-import android.util.TypedValue;
 import android.view.Gravity;
 import android.view.View;
 import android.widget.AdapterView;
 import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.PopupWindow;
-import android.widget.RadioButton;
-import android.widget.RadioGroup;
 import android.widget.TextView;
-import android.widget.Toast;
 
 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.SubsTypeAdapter;
 import com.xzjmyk.pm.activity.bean.SubscriptionNumber;
 import com.xzjmyk.pm.activity.bean.message.AllSubscriptonKindMessage;
 import com.xzjmyk.pm.activity.ui.erp.activity.SubscribeDetailActivity;
@@ -48,13 +45,12 @@ import java.util.Map;
  * 所有订阅
  * Created by RaoMeng on 2016/9/5.
  */
-public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.OnCheckedChangeListener {
+public class SubscriptionAllFragment extends BaseFragment{
     private PullToRefreshListView mPullToRefreshListView;
     private AllSubscriptionAdapter mAllSubscriptionAdapter;
     private List<AllSubscriptonKindMessage> mAllSubscriptonKindMessages;
     private List<SubscriptionNumber> mSubscriptionNumbers;
     private EmptyLayout mEmptyLayout;
-    private RadioGroup mRadioGroup;
     private int rbPos = 0;
     private List<String> keyStrings = new ArrayList<>();
     private final static int SUBSCRIBE_DETAIL_REQUEST = 33;
@@ -63,6 +59,8 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
     private DBManager mDbManager;
     private PopupWindow mDeletePopupWindow;
 
+    private ListView mTypeListView;
+    private SubsTypeAdapter mSubsTypeAdapter;
     @Override
     protected int getLayout() {
         return R.layout.fragment_all_subscription;
@@ -71,13 +69,14 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
     @Override
     protected void initViews() {
         mDbManager = new DBManager(getActivity());
-        mRadioGroup = (RadioGroup) root.findViewById(R.id.subscription_all_rg);
         currentMaster = CommonUtil.getSharedPreferences(getActivity(), "erp_master");
         mPullToRefreshListView = (PullToRefreshListView) root.findViewById(R.id.subscription_all_ptlv);
         mSubscriptionNumbers = new ArrayList<>();
         mAllSubscriptionAdapter = new AllSubscriptionAdapter(getActivity(), mSubscriptionNumbers);
         mAllSubscriptonKindMessages = new ArrayList<>();
 
+        mTypeListView = (ListView) root.findViewById(R.id.subscription_all_type_lv);
+        mSubsTypeAdapter = new SubsTypeAdapter(getActivity(),keyStrings);
         mEmptyLayout = new EmptyLayout(getActivity(), mPullToRefreshListView.getRefreshableView());
         mEmptyLayout.setShowLoadingButton(false);
         mEmptyLayout.setShowEmptyButton(false);
@@ -87,6 +86,7 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
 
     @Override
     protected void initEvents() {
+        mTypeListView.setAdapter(mSubsTypeAdapter);
         mPullToRefreshListView.setAdapter(mAllSubscriptionAdapter);
         mPullToRefreshListView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
         mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@@ -108,7 +108,6 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
                 }, 1000);
             }
         });
-        mRadioGroup.setOnCheckedChangeListener(this);
         mPullToRefreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
@@ -128,7 +127,7 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
             public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
                 View popView = View.inflate(getActivity(), R.layout.pop_subs_delete, null);
                 TextView deleteTv = (TextView) popView.findViewById(R.id.pop_subs_delete_tv);
-                deleteTv.setText("删除订阅号");
+                deleteTv.setText("删除订阅号");
                 deleteTv.setOnClickListener(new View.OnClickListener() {
                     @Override
                     public void onClick(View v) {
@@ -139,12 +138,21 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
                         if (mSubscriptionNumbers.size() == 0) {
                             mAllSubscriptonKindMessages.remove(rbPos);
                             keyStrings.remove(rbPos);
+                            initKeyStrings();
                             if (keyStrings.size() == 0) {
-                                mRadioGroup.setVisibility(View.GONE);
+                                mSubsTypeAdapter.notifyDataSetChanged();
+                                mTypeListView.setVisibility(View.GONE);
+                                mEmptyLayout.showEmpty();
+                                mSubscriptionNumbers.clear();
+                                mAllSubscriptionAdapter.notifyDataSetChanged();
                             } else {
                                 rbPos = 0;
-                                mRadioGroup.removeAllViews();
-                                initRadioGroup();
+                                mTypeListView.setVisibility(View.VISIBLE);
+                                mSubsTypeAdapter.notifyDataSetChanged();
+                                mSubscriptionNumbers.clear();
+                                mSubscriptionNumbers.addAll(mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers());
+                                mAllSubscriptionAdapter.notifyDataSetChanged();
+
                             }
                         }
                         closeDeletePopupWindow();
@@ -166,35 +174,91 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
                 return true;
             }
         });
+
+        mTypeListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                mSubsTypeAdapter.setSelectItem(position);
+                mSubsTypeAdapter.notifyDataSetChanged();
+                rbPos = position;
+
+                mSubscriptionNumbers.clear();
+                if (mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers().size() != 0) {
+                    mSubscriptionNumbers.addAll(mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers());
+                    mAllSubscriptionAdapter.notifyDataSetChanged();
+                }
+            }
+        });
+
+        mTypeListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
+            @Override
+            public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
+                View popView = View.inflate(getActivity(), R.layout.pop_subs_delete, null);
+                TextView deleteTv = (TextView) popView.findViewById(R.id.pop_subs_delete_tv);
+                deleteTv.setText("删除该订阅类");
+                deleteTv.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        mDbManager.deleteListFromAllSubs(mAllSubscriptonKindMessages.get(position).getSubscriptionNumbers());
+                        mAllSubscriptonKindMessages.remove(position);
+                        keyStrings.remove(position);
+                        initKeyStrings();
+                        if (keyStrings.size() == 0) {
+                            mSubsTypeAdapter.notifyDataSetChanged();
+                            mTypeListView.setVisibility(View.GONE);
+                            mEmptyLayout.showEmpty();
+                            mSubscriptionNumbers.clear();
+                            mAllSubscriptionAdapter.notifyDataSetChanged();
+                        } else {
+                            rbPos = 0;
+                            mTypeListView.setVisibility(View.VISIBLE);
+                            mSubsTypeAdapter.notifyDataSetChanged();
+
+                            mSubscriptionNumbers.clear();
+                            mSubscriptionNumbers.addAll(mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers());
+                            mAllSubscriptionAdapter.notifyDataSetChanged();
+                        }
+                        closeDeletePopupWindow();
+                    }
+                });
+
+                mDeletePopupWindow = new PopupWindow(popView, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
+                mDeletePopupWindow.setOutsideTouchable(true);
+                mDeletePopupWindow.setFocusable(true);
+                mDeletePopupWindow.showAtLocation(getActivity().getWindow().getDecorView(), Gravity.CENTER, 0, 0);
+                DisplayUtil.backgroundAlpha(getActivity(), 0.5f);
+                mDeletePopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+                    @Override
+                    public void onDismiss() {
+                        closeDeletePopupWindow();
+                    }
+                });
+
+                return true;
+            }
+        });
     }
 
-    private void initRadioGroup() {
-        StringBuilder keyStringBuilder = new StringBuilder();
-        for (int i = 0; i < keyStrings.size(); i++) {
-            keyStringBuilder.append("," + keyStrings.get(i));
-            final RadioButton radioButton = new RadioButton(getActivity());
-            radioButton.setButtonDrawable(null);
-            radioButton.setGravity(Gravity.CENTER);
-            radioButton.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
-            radioButton.setBackground(getResources().getDrawable(R.drawable.selector_subscribe_bg));
-            radioButton.setText(keyStrings.get(i));
-            radioButton.setTextColor(getResources().getColor(R.color.selector_subscribe_tv));
-            radioButton.setPadding(0, 30, 0, 30);
-            radioButton.setId(i);
-
-            if (i == rbPos) {
-//                                radioButton.setTextColor(getResources().getColor(R.color.red));
-                radioButton.setChecked(true);
-            } else {
-//                                radioButton.setTextColor(getResources().getColor(R.color.black));
-                radioButton.setChecked(false);
+    private void initKeyStrings() {
+        StringBuilder keyStringBuilder = null;
+        if (keyStrings.size() != 0){
+            keyStringBuilder = new StringBuilder();
+            for (int i = 0; i < keyStrings.size(); i++) {
+                keyStringBuilder.append("," + keyStrings.get(i));
+
+                if (i == rbPos) {
+                    mSubsTypeAdapter.setSelectItem(i);
+                    mSubsTypeAdapter.notifyDataSetChanged();
+                }
             }
-            mRadioGroup.addView(radioButton, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
-        }
-        if (keyStringBuilder.length() > 2) {
-            keyStringBuilder.delete(0, 1);
+            if (keyStringBuilder.length() > 2) {
+                keyStringBuilder.delete(0, 1);
+            }
+            SharedUtil.putString(currentMaster + "subs", keyStringBuilder.toString());
+        }else {
+            SharedUtil.putString(currentMaster + "subs", null);
         }
-        SharedUtil.putString(currentMaster + "subs", keyStringBuilder.toString());
+
     }
 
     private void closeDeletePopupWindow() {
@@ -209,7 +273,6 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
 
     @Override
     protected void initDatas() {
-//        mAllSubscriptonKindMessages = (List<AllSubscriptonKindMessage>) MyApplication.getDataCacheFromMap("all_subs_cache");
         Log.d("currentMaster: ", currentMaster);
         String cacheKeys = SharedUtil.getString(currentMaster + "subs");
         if (cacheKeys != null) {
@@ -219,43 +282,45 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
             }
         }
         try {
-//            List<SubscriptionNumber> dbSubscriptionNumbers = MyApplication.mDbUtils.findAll(SubscriptionNumber.class);
             List<SubscriptionNumber> dbSubscriptionNumbers
                     = mDbManager.queryFromAllSubs(new String[]{currentMaster}, "subs_master=?");
             if (dbSubscriptionNumbers == null) {
                 sendAllSubscriptionRequest();
-                Toast.makeText(getActivity(), "网络加载", Toast.LENGTH_SHORT).show();
+//                Toast.makeText(getActivity(), "网络加载", Toast.LENGTH_SHORT).show();
             } else {
-                Toast.makeText(getActivity(), "本地加载", Toast.LENGTH_SHORT).show();
-                for (int i = 0; i < keyStrings.size(); i++) {
-                    AllSubscriptonKindMessage tempSubscriptonKindMessage = new AllSubscriptonKindMessage();
-                    List<SubscriptionNumber> tempSubscriptionNumbers = new ArrayList<>();
-                    String currentKey = keyStrings.get(i);
-                    for (int j = 0; j < dbSubscriptionNumbers.size(); j++) {
-                        SubscriptionNumber currentSubscriptionNumber = dbSubscriptionNumbers.get(j);
-                        if (currentSubscriptionNumber.getType().equals(currentKey)) {
-                            tempSubscriptionNumbers.add(currentSubscriptionNumber);
-                        }
-                    }
-                    tempSubscriptonKindMessage.setSubscriptionKind(currentKey);
-                    tempSubscriptonKindMessage.setSubscriptionNumbers(tempSubscriptionNumbers);
-
-                    mAllSubscriptonKindMessages.add(tempSubscriptonKindMessage);
-                }
-
+//                Toast.makeText(getActivity(), "本地加载", Toast.LENGTH_SHORT).show();
+                initKeyStrings();
                 if (keyStrings.size() == 0) {
-                    mRadioGroup.setVisibility(View.GONE);
+                    mSubsTypeAdapter.notifyDataSetChanged();
+                    mTypeListView.setVisibility(View.GONE);
                     mEmptyLayout.showEmpty();
+                    mSubscriptionNumbers.clear();
+                    mAllSubscriptionAdapter.notifyDataSetChanged();
                 } else {
-                    mRadioGroup.setVisibility(View.VISIBLE);
-                    initRadioGroup();
+                    mTypeListView.setVisibility(View.VISIBLE);
+                    mSubsTypeAdapter.notifyDataSetChanged();
+                    for (int i = 0; i < keyStrings.size(); i++) {
+                        AllSubscriptonKindMessage tempSubscriptonKindMessage = new AllSubscriptonKindMessage();
+                        List<SubscriptionNumber> tempSubscriptionNumbers = new ArrayList<>();
+                        String currentKey = keyStrings.get(i);
+                        for (int j = 0; j < dbSubscriptionNumbers.size(); j++) {
+                            SubscriptionNumber currentSubscriptionNumber = dbSubscriptionNumbers.get(j);
+                            if (currentSubscriptionNumber.getType().equals(currentKey)) {
+                                tempSubscriptionNumbers.add(currentSubscriptionNumber);
+                            }
+                        }
+                        tempSubscriptonKindMessage.setSubscriptionKind(currentKey);
+                        tempSubscriptonKindMessage.setSubscriptionNumbers(tempSubscriptionNumbers);
+
+                        mAllSubscriptonKindMessages.add(tempSubscriptonKindMessage);
+                    }
+                    mSubscriptionNumbers.clear();
+                    mSubscriptionNumbers.addAll(mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers());
+                    Log.d("allsubscription:", mSubscriptionNumbers.toString());
+                    mAllSubscriptionAdapter.notifyDataSetChanged();
                 }
 
             }
-            mSubscriptionNumbers.clear();
-            mSubscriptionNumbers.addAll(mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers());
-            Log.d("allsubscription:", mSubscriptionNumbers.toString());
-            mAllSubscriptionAdapter.notifyDataSetChanged();
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -282,12 +347,7 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
             switch (msg.what) {
                 case GET_ALL_SUBSCRIPTION:
                     progressDialog.dismiss();
-//                    try {
-//                        MyApplication.mDbUtils.deleteAll(SubscriptionNumber.class);
-//                    } catch (DbException e) {
-//                        e.printStackTrace();
-//                    }
-                    mDbManager.deleteMasterSubs(currentMaster);
+                    mDbManager.deleteMasterAllSubs(currentMaster);
                     String resultJson = msg.getData().getString("result");
                     Log.d("allsubscriptionResult: ", resultJson);
                     try {
@@ -302,12 +362,12 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
                                 Crouton.makeText(getActivity(), "没有未订阅数据", 0xff99cc00, 1500).show();
                             }
                             keyStrings.clear();
-                            mRadioGroup.removeAllViews();
+                            mSubsTypeAdapter.notifyDataSetChanged();
+                            mTypeListView.setVisibility(View.GONE);
                             return;
                         }
 
                         keyStrings.clear();
-                        mRadioGroup.removeAllViews();
                         while (iterator.hasNext()) {
                             String key = iterator.next().toString();
 
@@ -334,11 +394,8 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
                             if (subscriptionNumbers.size() != 0) {
                                 keyStrings.add(key);
                                 subscriptonKindMessage.setSubscriptionNumbers(subscriptionNumbers);
-                                /*try {
-                                    MyApplication.mDbUtils.saveAll(subscriptionNumbers);
-                                } catch (DbException e) {
-                                    e.printStackTrace();
-                                }*/
+
+                                mSubsTypeAdapter.notifyDataSetChanged();
                                 mDbManager.saveListToAllSubs(subscriptionNumbers);
                                 mAllSubscriptonKindMessages.add(subscriptonKindMessage);
                             }
@@ -347,17 +404,20 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
                     } catch (JSONException e) {
                         e.printStackTrace();
                     }
-
+                    initKeyStrings();
                     if (keyStrings.size() == 0) {
-                        mRadioGroup.setVisibility(View.GONE);
+                        mTypeListView.setVisibility(View.GONE);
+
+                        mSubscriptionNumbers.clear();
+                        mAllSubscriptionAdapter.notifyDataSetChanged();
                     } else {
-                        mRadioGroup.setVisibility(View.VISIBLE);
-                        initRadioGroup();
+                        mTypeListView.setVisibility(View.VISIBLE);
+                        mSubsTypeAdapter.notifyDataSetChanged();
+                        mSubscriptionNumbers.clear();
+                        mSubscriptionNumbers.addAll(mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers());
+                        Log.d("allsubscription:", mSubscriptionNumbers.toString());
+                        mAllSubscriptionAdapter.notifyDataSetChanged();
                     }
-                    mSubscriptionNumbers.clear();
-                    mSubscriptionNumbers.addAll(mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers());
-                    Log.d("allsubscription:", mSubscriptionNumbers.toString());
-                    mAllSubscriptionAdapter.notifyDataSetChanged();
 
                     if (mPullToRefreshListView.isRefreshing()) {
                         mPullToRefreshListView.onRefreshComplete();
@@ -372,25 +432,6 @@ public class SubscriptionAllFragment extends BaseFragment implements RadioGroup.
         }
     };
 
-    @Override
-    public void onCheckedChanged(RadioGroup group, int checkedId) {
-        rbPos = checkedId;
-/*
-        for (int i = 0; i < keyStrings.size(); i++) {
-            RadioButton currentButton = (RadioButton) group.findViewById(i);
-            if (i == checkedId){
-                currentButton.setTextColor(getResources().getColor(R.color.red));
-            }else {
-                currentButton.setTextColor(getResources().getColor(R.color.black));
-            }
-        }*/
-        mSubscriptionNumbers.clear();
-        if (mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers().size() != 0) {
-            mSubscriptionNumbers.addAll(mAllSubscriptonKindMessages.get(rbPos).getSubscriptionNumbers());
-            mAllSubscriptionAdapter.notifyDataSetChanged();
-        }
-    }
-
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == SUBSCRIBE_DETAIL_REQUEST && resultCode == 9 && data != null) {

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

@@ -15,6 +15,7 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.adapter.MySubscriptionAdapter;
 import com.xzjmyk.pm.activity.bean.PersonalSubscriptionBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.SubscribeDetailActivity;
+import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 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;
@@ -39,13 +40,13 @@ public class SubscriptionMyFragment extends BaseFragment {
     private PullToRefreshListView mPullListView;
     private List<PersonalSubscriptionBean> mPersonalSubscriptionBeans;
     private MySubscriptionAdapter mMySubscriptionAdapter;
-
-    private final static int GET_MY_SUBSCRIPTION = 12;
-
     private EmptyLayout mEmptyLayout;
     private static int mClickedPosition = -1;
+    private final static int GET_MY_SUBSCRIPTION = 12;
     private static int SUBSCRIBE_MY_DETAIL_REQUEST = 45;
 
+    private DBManager mDbManager;
+    String currentMaster;
     @Override
     protected int getLayout() {
         return R.layout.fragment_my_subscription;
@@ -53,6 +54,8 @@ public class SubscriptionMyFragment extends BaseFragment {
 
     @Override
     protected void initViews() {
+        mDbManager = new DBManager(getActivity());
+        currentMaster = CommonUtil.getSharedPreferences(getActivity(), "erp_master");
         mPersonalSubscriptionBeans = new ArrayList<>();
         mPullListView = (PullToRefreshListView) root.findViewById(R.id.my_subscripton_smlv);
         mMySubscriptionAdapter = new MySubscriptionAdapter(getActivity(),mPersonalSubscriptionBeans);
@@ -100,7 +103,16 @@ public class SubscriptionMyFragment extends BaseFragment {
 
     @Override
     protected void initDatas() {
-        sendSubscriptionRequest();
+        List<PersonalSubscriptionBean> dbPersonalSubscriptionBeans = mDbManager.queryFromMySubs(new String[]{currentMaster}, "subs_master=?");
+        if (dbPersonalSubscriptionBeans == null){
+            Toast.makeText(getActivity(), "网络加载", Toast.LENGTH_SHORT).show();
+            sendSubscriptionRequest();
+        }else {
+            Toast.makeText(getActivity(), "本地加载", Toast.LENGTH_SHORT).show();
+            mPersonalSubscriptionBeans.clear();
+            mPersonalSubscriptionBeans.addAll(dbPersonalSubscriptionBeans);
+            mMySubscriptionAdapter.notifyDataSetChanged();
+        }
     }
 
     /**
@@ -120,6 +132,7 @@ public class SubscriptionMyFragment extends BaseFragment {
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == SUBSCRIBE_MY_DETAIL_REQUEST && resultCode == 44){
+            mDbManager.deleteFromMySubs(mPersonalSubscriptionBeans.get(mClickedPosition - 1));
             mPersonalSubscriptionBeans.remove(mClickedPosition - 1);
             mMySubscriptionAdapter.notifyDataSetChanged();
         }
@@ -131,6 +144,7 @@ public class SubscriptionMyFragment extends BaseFragment {
             switch (msg.what){
                 case GET_MY_SUBSCRIPTION:
                     progressDialog.dismiss();
+                    mDbManager.deleteMasterMySubs(currentMaster);
                     String resultJson = msg.getData().getString("result");
                     Log.d("subscriptionResult",resultJson);
                     try {
@@ -152,10 +166,11 @@ public class SubscriptionMyFragment extends BaseFragment {
                                     personalSubscriptionBean.setKIND(currentObject.getString("KIND_"));
                                     personalSubscriptionBean.setTYPE(currentObject.getString("TYPE_"));
                                     personalSubscriptionBean.setISAPPLED(currentObject.getInt("ISAPPLIED_"));
-
+                                    personalSubscriptionBean.setMASTER(currentMaster);
                                     mPersonalSubscriptionBeans.add(personalSubscriptionBean);
                                 }
                                 mMySubscriptionAdapter.notifyDataSetChanged();
+                                mDbManager.saveListToMySubs(mPersonalSubscriptionBeans);
                                 if (mPullListView.isRefreshing()){
                                     mPullListView.onRefreshComplete();
                                     Crouton.makeText(getActivity(),"刷新成功", 0xff99cc00, 1500).show();

+ 13 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/Constants.java

@@ -84,7 +84,7 @@ public class Constants {
     public static final String SubscriptionMessage = "CREATE TABLE SubscriptionMessage(id_,num_id_,instance_id_ ,createdate_,title_," +
             "son_title_,status_,EMP_ID_,RN_,SONTITLE_,SUMDATA_,name)";
 
-    //订阅号表
+    //所有订阅号表
     public static final String TABLE_ALL_SUBSCRIPTION = "CREATE TABLE AllSubs "
             + "(id integer primary key autoincrement,"
             + "subs_id integer,"
@@ -95,6 +95,18 @@ public class Constants {
             + "subs_master varchar(50)"+
             ")";
 
+    //已订阅号表
+    public static final String TABLE_MY_SUBSCRIPTION = "CREATE TABLE MySubs "
+            + "(id integer primary key autoincrement,"
+            + "subs_id integer,"
+            + "subs_title varchar(50),"
+            + "subs_kind varchar(50),"
+            + "subs_type varchar(50),"
+            + "subs_applied integer,"
+            + "subs_master varchar(50)"
+            + ")";
+
+
 
 
     /**

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/NoSlideViewpager.java

@@ -9,7 +9,7 @@ import android.view.MotionEvent;
  * Created by RaoMeng on 2016/9/5.
  */
 public class NoSlideViewpager extends ViewPager {
-    private boolean noSlide = true;
+    private boolean noSlide = false;
 
     public NoSlideViewpager(Context context) {
         super(context);

+ 4 - 9
WeiChat/src/main/res/layout/fragment_all_subscription.xml

@@ -4,17 +4,12 @@
     android:layout_height="match_parent"
     android:orientation="horizontal">
 
-    <RadioGroup
-        android:id="@+id/subscription_all_rg"
-        android:layout_width="80dp"
-        android:layout_height="match_parent"
-        android:background="@color/umeng_socialize_ucenter_bg"
-        android:visibility="gone">
-    </RadioGroup>
-    
     <ListView
+        android:id="@+id/subscription_all_type_lv"
         android:layout_width="80dp"
-        android:layout_height=""></ListView>
+        android:layout_height="match_parent"
+        android:background="#FFE2E0E0"
+        android:visibility="gone"/>
     <View
         android:layout_width="1dp"
         android:layout_height="match_parent"

+ 4 - 4
WeiChat/src/main/res/layout/layout_my_subscribe_list.xml

@@ -1,14 +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="70dp"
+    android:layout_height="60dp"
     android:padding="10dp"
     android:gravity="center_vertical">
 
     <ImageView
         android:id="@+id/my_subscribe_iv"
-        android:layout_width="50dp"
-        android:layout_height="50dp"
+        android:layout_width="40dp"
+        android:layout_height="40dp"
         android:scaleType="fitXY"
         />
 
@@ -19,7 +19,7 @@
         android:layout_toRightOf="@id/my_subscribe_iv"
         android:layout_marginLeft="10dp"
         android:layout_centerVertical="true"
-        android:textSize="18sp"
+        android:textSize="16sp"
         android:textStyle="bold"/>
 
     <TextView

+ 18 - 0
WeiChat/src/main/res/layout/list_subs_type.xml

@@ -0,0 +1,18 @@
+<?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="wrap_content"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/list_subs_type_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingLeft="5dp"
+        android:paddingRight="5dp"
+        android:paddingTop="12dp"
+        android:paddingBottom="12dp"
+        android:textSize="14sp"
+        android:gravity="center"
+        />
+</LinearLayout>