Browse Source

订阅详情页上下条翻页后,返回订阅页面,标示已读

RaoMeng 9 years ago
parent
commit
d4ea3d8b0c

+ 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'

+ 35 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/WebViewCommActivity.java

@@ -39,6 +39,7 @@ import org.json.JSONObject;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -64,6 +65,8 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
     private String mSubsurl;
     private TextView mPreTv;
     private TextView mNextTv;
+    private List<Object> mReadSubs;
+
     private  Handler hander = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -107,6 +110,7 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
         mPreTv = (TextView) findViewById(R.id.web_previous_tv);
         mNextTv = (TextView) findViewById(R.id.web_next_tv);
 
+        mReadSubs = new ArrayList<>();
         isStartApp = false;
         pb = (ProgressBar) findViewById(R.id.pb);
         pb.setMax(100);
@@ -235,6 +239,7 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
                 break;
         }
         if (mSubscriptionMessages != null){
+            mReadSubs.add(mPosition);
             getSupportActionBar().setTitle(mSubscriptionMessages.get(mPosition).getTITLE_());
             if (mPosition == 0){
                 mPreTv.setVisibility(View.GONE);
@@ -256,6 +261,28 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
         }
     }
 
+    @Override
+    protected void onPause() {
+        super.onPause();
+        if (!mReadSubs.isEmpty()){
+            List<Integer> singleElement = (List)CommonUtil.getSingleElement(mReadSubs);
+            ArrayList<Integer> readIntegers = new ArrayList<>();
+            readIntegers.addAll(singleElement);
+            Intent intent = new Intent();
+            intent.putIntegerArrayListExtra("readsubs", readIntegers);
+            setResult(22, intent);
+        }
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+    }
 
     public class WebChromeClient extends android.webkit.WebChromeClient {
         @Override
@@ -306,6 +333,14 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
 
     @Override
     public void onBackPressed() {
+        if (!mReadSubs.isEmpty()){
+            List<Integer> singleElement = (List)CommonUtil.getSingleElement(mReadSubs);
+            ArrayList<Integer> readIntegers = new ArrayList<>();
+            readIntegers.addAll(singleElement);
+            Intent intent = new Intent();
+            intent.putIntegerArrayListExtra("readsubs", readIntegers);
+            setResult(22, intent);
+        }
         if (isStartApp) {
             Intent intent = new Intent(WebViewCommActivity.this, MainActivity.class);
             startActivity(intent);

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

@@ -72,7 +72,8 @@ public class SubscriptionActivity extends BaseActivity {
             R.drawable.uu_dy_image1, R.drawable.uu_dy_image2, R.drawable.uu_dy_image3, R.drawable.uu_dy_image4, R.drawable.uu_dy_image5, R.drawable.uu_dy_image6, R.drawable.uu_dy_image7
 
     };
-
+    private int mClickPos;
+    private final static int REQUEST_SUBS_DETAIL = 101;
     private Handler handler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -330,6 +331,26 @@ public class SubscriptionActivity extends BaseActivity {
         ViewUtil.httpSendRequest(this, url, param, handler, headers, LOAD_NET, null, null, "get");
     }
 
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (requestCode == REQUEST_SUBS_DETAIL && resultCode == 22 && data != null){
+            ArrayList<Integer> readSubs = data.getIntegerArrayListExtra("readsubs");
+            SortSubsrciprion sortSubsrciprion = sortSubsrciprions.get(mClickPos);
+            sortSubsrciprions.remove(mClickPos);
+            ArrayList<SubscriptionMessage> subscriptionMessages = sortSubsrciprion.beans;
+            for (int i = 0; i < readSubs.size(); i++) {
+                subscriptionMessages.get(readSubs.get(i)).setSTATUS_(1);
+                SubscriptionDao.getInstance().UpdateStatus(subscriptionMessages.get(readSubs.get(i)).getID_() + "", true);
+            }
+            sortSubsrciprions.add(mClickPos, sortSubsrciprion);
+            adapter.notifyDataSetChanged();
+        }
+    }
+
+    private ArrayList<SubscriptionMessage> mSubscriptionMessages = new ArrayList<>();
+    private ListAdapter listAdapter = null;
+
     //外层list
     class SubscriptionAdapter extends BaseAdapter {
         List<SortSubsrciprion> sortSubsrciprions;
@@ -343,8 +364,6 @@ public class SubscriptionActivity extends BaseActivity {
             notifyDataSetChanged();
         }
 
-        private ListAdapter listAdapter = null;
-
         @Override
         public int getCount() {
             return ListUtils.isEmpty(sortSubsrciprions) ? 0 : sortSubsrciprions.size();
@@ -374,7 +393,8 @@ public class SubscriptionActivity extends BaseActivity {
                 viewholder = (Viewholder) contextView.getTag();
             }
             viewholder.tvTime.setText(sortSubsrciprions.get(position).time);
-            listAdapter = new ListAdapter(sortSubsrciprions.get(position).beans, position);
+            mSubscriptionMessages = sortSubsrciprions.get(position).beans;
+            listAdapter = new ListAdapter(mSubscriptionMessages, position);
             viewholder.listview.setAdapter(listAdapter);
             return contextView;
         }
@@ -482,6 +502,7 @@ public class SubscriptionActivity extends BaseActivity {
             contextView.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View view) {
+                    mClickPos = position;
                     SubscriptionMessage bean = sortSubsrciprions.get(position).beans.get(i);
                     String url = baseUrl + "common/charts/mobileCharts.action";
                     Log.i("weburl: ", url);
@@ -501,7 +522,7 @@ public class SubscriptionActivity extends BaseActivity {
                     intent_web.putExtra("subsact", "subsDetail");
                     intent_web.putExtra("position", i);
                     intent_web.putExtra("subsdata", beans);
-                    ct.startActivity(intent_web);
+                    SubscriptionActivity.this.startActivityForResult(intent_web,REQUEST_SUBS_DETAIL);
 
                     if (bean.getSTATUS_() == 0) {//当点击未读消息
                         SubscriptionDao.getInstance().UpdateStatus(bean.getID_() + "", true);

+ 2 - 2
WeiChat/src/main/res/layout/activity_basic_info.xml

@@ -130,7 +130,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_alignParentRight="true"
-                    android:layout_alignTop="@id/phone_tag"
+                    android:layout_centerVertical="true"
                     android:src="@drawable/info_phone" />
             </RelativeLayout>
 
@@ -170,7 +170,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_alignParentRight="true"
-                    android:layout_alignTop="@id/email_tag"
+                    android:layout_centerVertical="true"
                     android:src="@drawable/email" />
             </RelativeLayout>