소스 검색

订阅详情页面上下条切换功能

RaoMeng 9 년 전
부모
커밋
9d1834c3af

+ 1 - 1
WeiChat/build.gradle

@@ -13,7 +13,7 @@ android {
     }
     signingConfigs {
         config {
-            storeFile file('C:/Users/FANGlh/Desktop/UU5.5.1/applicationsignname[20150409]')
+            storeFile file('E:/CompanyProject/applicationsignname[20150409]')
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'

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

@@ -1,9 +1,11 @@
 package com.xzjmyk.pm.activity.bean.message;
 
+import java.io.Serializable;
+
 /**
  * Created by gongpm on 2016/6/3.
  */
-public class SubscriptionMessage {
+public class SubscriptionMessage implements Serializable{
 
     private int ID_;
     private int NUM_ID_;        //订阅id

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

@@ -24,6 +24,7 @@ import com.umeng.socialize.bean.SHARE_MEDIA;
 import com.umeng.socialize.media.UMImage;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.bean.message.SubscriptionMessage;
 import com.xzjmyk.pm.activity.ui.MainActivity;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
@@ -36,13 +37,14 @@ import org.apache.http.cookie.Cookie;
 import org.json.JSONException;
 import org.json.JSONObject;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 
 /**
  * Created by Administrator on 2016/4/5.
  */
-public class WebViewCommActivity extends BaseActivity {
+public class WebViewCommActivity extends BaseActivity implements View.OnClickListener {
     public static final String TIME = "WebViewCommActivity_time";
     private PullToRefreshWebView webView;
     private ProgressBar pb;
@@ -54,6 +56,14 @@ public class WebViewCommActivity extends BaseActivity {
     private boolean isStartApp = false;
     private boolean isCookie;
     private int reCode = 201;
+
+    private ArrayList<SubscriptionMessage> mSubscriptionMessages;
+    private String mSubsAct;
+    private int mPosition;
+
+    private String mSubsurl;
+    private TextView mPreTv;
+    private TextView mNextTv;
     private  Handler hander = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -94,12 +104,44 @@ public class WebViewCommActivity extends BaseActivity {
         Intent intent = getIntent();
         setContentView(R.layout.activity_webview);
         webView = (PullToRefreshWebView) findViewById(R.id.webView_listview);
+        mPreTv = (TextView) findViewById(R.id.web_previous_tv);
+        mNextTv = (TextView) findViewById(R.id.web_next_tv);
+
         isStartApp = false;
         pb = (ProgressBar) findViewById(R.id.pb);
         pb.setMax(100);
         url = intent.getStringExtra("url");
+        mSubsurl = intent.getStringExtra("url");
         isCookie = intent.getBooleanExtra("cookie", false);
         String StartApp = intent.getStringExtra("isStartApp");//参数账套
+
+        mSubsAct = intent.getStringExtra("subsact");
+        mPosition = intent.getIntExtra("position",-1);
+        mSubscriptionMessages = (ArrayList<SubscriptionMessage>) intent.getSerializableExtra("subsdata");
+
+        if (mSubsAct != null && mSubsAct.equals("subsDetail")){
+            url = mSubsurl  + "?numId=" + mSubscriptionMessages.get(mPosition).getNUM_ID_()
+                    + "&mainId=" + mSubscriptionMessages.get(mPosition).getINSTANCE_ID_()
+                    + "&insId=" + mSubscriptionMessages.get(mPosition).getID_()
+                    + "&title=" + mSubscriptionMessages.get(mPosition).getTITLE_();
+            if (mSubscriptionMessages.size() == 1){
+                mPreTv.setVisibility(View.GONE);
+                mNextTv.setVisibility(View.GONE);
+            }else if (mPosition == 0){
+                mPreTv.setVisibility(View.GONE);
+                mNextTv.setVisibility(View.VISIBLE);
+            }else if (mPosition == mSubscriptionMessages.size() - 1){
+                mPreTv.setVisibility(View.VISIBLE);
+                mNextTv.setVisibility(View.GONE);
+            }else {
+                mPreTv.setVisibility(View.VISIBLE);
+                mNextTv.setVisibility(View.VISIBLE);
+            }
+
+            mPreTv.setOnClickListener(this);
+            mNextTv.setOnClickListener(this);
+        }
+
         if (!StringUtils.isEmpty(StartApp)) {
             if (StartApp.equals("true")) {
                 isStartApp = true;
@@ -182,6 +224,36 @@ public class WebViewCommActivity extends BaseActivity {
         super.onResume();
     }
 
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()){
+            case R.id.web_previous_tv:
+                mPosition--;
+                break;
+            case R.id.web_next_tv:
+                mPosition++;
+                break;
+        }
+        getSupportActionBar().setTitle(mSubscriptionMessages.get(mPosition).getTITLE_());
+        if (mPosition == 0){
+            mPreTv.setVisibility(View.GONE);
+            mNextTv.setVisibility(View.VISIBLE);
+        }else if (mPosition == mSubscriptionMessages.size() - 1){
+            mPreTv.setVisibility(View.VISIBLE);
+            mNextTv.setVisibility(View.GONE);
+        }else {
+            mPreTv.setVisibility(View.VISIBLE);
+            mNextTv.setVisibility(View.VISIBLE);
+        }
+        url = mSubsurl  + "?numId=" + mSubscriptionMessages.get(mPosition).getNUM_ID_()
+                + "&mainId=" + mSubscriptionMessages.get(mPosition).getINSTANCE_ID_()
+                + "&insId=" + mSubscriptionMessages.get(mPosition).getID_()
+                + "&title=" + mSubscriptionMessages.get(mPosition).getTITLE_();
+        Map<String,String> headers=new HashMap<>();
+        headers.put("client-name","uasClient");
+        webView.getRefreshableView().loadUrl(url,headers);
+    }
+
 
     public class WebChromeClient extends android.webkit.WebChromeClient {
         @Override

+ 16 - 5
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;
@@ -26,6 +27,7 @@ import com.xzjmyk.pm.activity.bean.message.SubscriptionMessage;
 import com.xzjmyk.pm.activity.db.dao.SubscriptionDao;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.SubcribeManageActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.WebViewCommActivity;
 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;
@@ -79,6 +81,7 @@ public class SubscriptionActivity extends BaseActivity {
             switch (msg.what) {
                 case LOAD_NET:
                     String message = msg.getData().getString("result");
+                    Log.i("handleSubs", message);
                     if (message != null && JSON.parseObject(message).containsKey("data")) {
                         String str = JSON.parseObject(message).getJSONArray("data").toJSONString();
                         SubscriptionMessages = JSON.parseArray(str, SubscriptionMessage.class);
@@ -148,7 +151,7 @@ public class SubscriptionActivity extends BaseActivity {
                 calendar.set(Calendar.MINUTE, 0);
                 calendar.set(Calendar.SECOND, 0);
                 newlong = calendar.getTimeInMillis();
-                oldTime=newlong;
+                oldTime = newlong;
                 loadNetData(newlong);//获取当天的网络数据
             }
 
@@ -480,9 +483,8 @@ public class SubscriptionActivity extends BaseActivity {
                 @Override
                 public void onClick(View view) {
                     SubscriptionMessage bean = sortSubsrciprions.get(position).beans.get(i);
-                    String url = baseUrl + "common/charts/mobileCharts.action?" + "numId=" + bean.getNUM_ID_() +
-                            "&mainId=" + bean.getINSTANCE_ID_() + "&insId=" + bean.getID_() +
-                            "&title=" + bean.getTITLE_();
+                    String url = baseUrl + "common/charts/mobileCharts.action";
+                    Log.i("weburl: ", url);
                     String chche = bean.getTITLE_() == null ? "" : bean.getTITLE_();
 //                    String title = TimeUtils.long2str(sortSubsrciprions.get(position).tiem, "yyyyMMdd") + "  " + bean.getTITLE_();
                     String title = bean.getTITLE_();
@@ -491,7 +493,16 @@ public class SubscriptionActivity extends BaseActivity {
                         title = bean.getTITLE_();
                     }
 
-                    ViewUtil.webLinks(activity, url, title, true);
+//                    ViewUtil.webLinks(activity, url, title, true);
+                    Intent intent_web = new Intent(ct, WebViewCommActivity.class);
+                    intent_web.putExtra("url", url);
+                    intent_web.putExtra("p", title);
+                    intent_web.putExtra("cookie", true);
+                    intent_web.putExtra("subsact", "subsDetail");
+                    intent_web.putExtra("position", i);
+                    intent_web.putExtra("subsdata", beans);
+                    ct.startActivity(intent_web);
+
                     if (bean.getSTATUS_() == 0) {//当点击未读消息
                         SubscriptionDao.getInstance().UpdateStatus(bean.getID_() + "", true);
                         sortSubsrciprions.get(position).beans.get(i).setSTATUS_(-1);

+ 8 - 0
WeiChat/src/main/res/drawable/selector_flip_btn.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/shape_flip_btn_press" android:state_checked="true"/>
+    <item android:drawable="@drawable/shape_flip_btn_press" android:state_pressed="true"/>
+    <item android:drawable="@drawable/shape_flip_btn_press" android:state_selected="true"/>
+
+    <item android:drawable="@drawable/shape_flip_btn_normal"/>
+</selector>

+ 8 - 0
WeiChat/src/main/res/drawable/shape_flip_btn_normal.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="10dp"/>
+
+    <solid android:color="#fffb9129"/>
+
+</shape>

+ 8 - 0
WeiChat/src/main/res/drawable/shape_flip_btn_press.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="10dp"/>
+
+    <solid android:color="#90da7d22"/>
+
+</shape>

+ 45 - 9
WeiChat/src/main/res/layout/activity_webview.xml

@@ -3,7 +3,8 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@color/lightgrey"
-    android:orientation="vertical" >
+    android:orientation="vertical">
+
     <ProgressBar
         android:id="@+id/pb"
         style="?android:attr/progressBarStyleHorizontal"
@@ -14,13 +15,48 @@
         android:indeterminateDuration="500"
         android:indeterminateOnly="false"
         android:max="100"
-        android:visibility="gone"
-        android:progressDrawable="@drawable/webview_progress_bar" >
-    </ProgressBar>
-    <com.handmark.pulltorefresh.library.PullToRefreshWebView
-        android:id="@+id/webView_listview"
+        android:progressDrawable="@drawable/webview_progress_bar"
+        android:visibility="gone"></ProgressBar>
+
+    <RelativeLayout
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layerType="software"
-        android:background="@color/linen" />
+        android:layout_height="match_parent">
+
+        <com.handmark.pulltorefresh.library.PullToRefreshWebView
+            android:id="@+id/webView_listview"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="@color/linen"
+            android:layerType="software" />
+
+        <TextView
+            android:id="@+id/web_previous_tv"
+            android:layout_width="100dp"
+            android:layout_height="36dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginBottom="25dp"
+            android:layout_marginLeft="30dp"
+            android:background="@drawable/selector_flip_btn"
+            android:gravity="center"
+            android:text="<上一条"
+            android:textColor="@color/white"
+            android:textSize="16sp"
+            android:visibility="gone"/>
+
+        <TextView
+            android:id="@+id/web_next_tv"
+            android:layout_width="100dp"
+            android:layout_height="36dp"
+            android:layout_alignParentBottom="true"
+            android:layout_alignParentRight="true"
+            android:layout_marginBottom="25dp"
+            android:layout_marginRight="30dp"
+            android:background="@drawable/selector_flip_btn"
+            android:gravity="center"
+            android:text="下一条>"
+            android:textColor="@color/white"
+            android:textSize="16sp"
+            android:visibility="gone"/>
+    </RelativeLayout>
+
 </LinearLayout>