Przeglądaj źródła

1.主页列表添加已报名标识

zhangxinyu 5 lat temu
rodzic
commit
3ad7529000

+ 8 - 0
app/src/main/java/com/webrain/happywork/bean/RequirementBean.java

@@ -36,6 +36,7 @@ public class RequirementBean {
     private String createTime1;
     private String expiryDate1;
     private String companyId;
+    private boolean isEnrollment;
 
     public String getId() {
         return id;
@@ -317,4 +318,11 @@ public class RequirementBean {
         this.companyId = companyId;
     }
 
+    public boolean isEnrollment() {
+        return isEnrollment;
+    }
+
+    public void setEnrollment(boolean enrollment) {
+        isEnrollment = enrollment;
+    }
 }

+ 13 - 1
app/src/main/java/com/webrain/happywork/ui/activity/MainActivity.java

@@ -4,6 +4,7 @@ import android.content.Intent;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
+import android.text.TextUtils;
 import android.view.KeyEvent;
 import android.view.View;
 import android.widget.AbsListView;
@@ -15,6 +16,7 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout;
 import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
 import com.webrain.baselibrary.EventConstant;
 import com.webrain.baselibrary.event.StringEvent;
+import com.webrain.baselibrary.event.TagValueEvent;
 import com.webrain.baselibrary.imageloader.ImageLoaderUtil;
 import com.webrain.baselibrary.utils.AppUtils;
 import com.webrain.baselibrary.utils.PxUtils;
@@ -125,11 +127,21 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
     public void onEvent(StringEvent event) {
         if (event.getData().equals(EventConstant.EVENT_LOGOUT)) {
             mvpPresenter.getRequirements(true, true);
-        }else if(event.getData().equals(EventConstant.EVENT_LOGIN)){
+        } else if (event.getData().equals(EventConstant.EVENT_LOGIN)) {
             mvpPresenter.getRequirements(true, true);
         }
     }
 
+    @Subscribe
+    public void onEvent(TagValueEvent event) {
+        if (EventConstant.EVENT_DEMAND_APPLY.equals(event.getTag())) {
+            if (mAdapter != null)
+                mAdapter.initDataApply(event.getValue().toString(), true);
+        } else if (EventConstant.EVENT_DEMAND_CANCEL.equals(event.getTag())) {
+            if (mAdapter != null)
+                mAdapter.initDataApply(event.getValue().toString(), false);
+        }
+    }
 
     /**
      * 加载界面

+ 23 - 0
app/src/main/java/com/webrain/happywork/ui/adapter/listview/DemandListAdapter.java

@@ -39,6 +39,22 @@ public class DemandListAdapter extends BaseListAdapter<RequirementBean, DemandLi
         mContext.startActivity(intent);
     }
 
+    /**
+     * 修改已经报名需求的状态
+     * @param id
+     */
+    public  void initDataApply(String id,boolean isEnrollment){
+        if(!TextUtils.isEmpty(id)&&mData!=null){
+            for(RequirementBean item:mData){
+                if(id.equals(item.getId())){
+                    item.setEnrollment(isEnrollment);
+                    notifyDataSetChanged();
+                    return;
+                }
+            }
+        }
+    }
+
     class DemandListViewHolder extends BaseViewHolder<RequirementBean> {
 
         @BindView(R.id.tv_title)
@@ -55,6 +71,8 @@ public class DemandListAdapter extends BaseListAdapter<RequirementBean, DemandLi
         TextView tvNum;
         @BindView(R.id.tv_stage)
         TextView tvStage;
+        @BindView(R.id.v_demand)
+        View vDemand;
 
         public DemandListViewHolder(Context mContext) {
             super(mContext);
@@ -86,6 +104,11 @@ public class DemandListAdapter extends BaseListAdapter<RequirementBean, DemandLi
                 } else {
                     tvNum.setText("任务数:" + obj.getNumber());
                 }
+                if (obj.isEnrollment()){
+                    vDemand.setVisibility(View.VISIBLE);
+                }else{
+                    vDemand.setVisibility(View.GONE);
+                }
             }
         }
     }

+ 11 - 2
app/src/main/java/com/webrain/happywork/ui/mvp/model/DemandDetailModel.java

@@ -4,7 +4,9 @@ package com.webrain.happywork.ui.mvp.model;
 import android.content.Context;
 import android.text.TextUtils;
 
+import com.webrain.baselibrary.EventConstant;
 import com.webrain.baselibrary.IntentConstant;
+import com.webrain.baselibrary.event.TagValueEvent;
 import com.webrain.happywork.AppCacheManager;
 import com.webrain.happywork.bean.RequirementBean;
 import com.webrain.happywork.bean.api.ApiRequirementDetailBean;
@@ -20,6 +22,8 @@ import com.webrain.happywork.ui.activity.DemandDetailActivity;
 import com.webrain.happywork.ui.base.BaseModel;
 import com.webrain.happywork.ui.mvp.contacts.DemandDetailContacts;
 
+import org.greenrobot.eventbus.EventBus;
+
 public class DemandDetailModel extends BaseModel implements DemandDetailContacts.IDemandDetailModel {
     private String requirementId;
     private String enrollId;
@@ -71,15 +75,17 @@ public class DemandDetailModel extends BaseModel implements DemandDetailContacts
 
     /**
      * 取消报名
+     *
      * @param callBack
      */
     @Override
     public void requestCancelApply(final MvpDataCallBack<Boolean> callBack) {
         RetrofitHttpParams params = new RetrofitHttpParams(mContext);
         params.put("enroll_id", enrollId);
-        new RequirementSubscribe(mContext).requestCancelEnrollment(params.getRequestParams(), new ApiObserver<ApiNormalBean>(mContext,true) {
+        new RequirementSubscribe(mContext).requestCancelEnrollment(params.getRequestParams(), new ApiObserver<ApiNormalBean>(mContext, true) {
             @Override
             public void onSuccess(ApiNormalBean data) {
+                EventBus.getDefault().post(new TagValueEvent(EventConstant.EVENT_DEMAND_CANCEL, requirementId));
                 callBack.onData(true);
             }
 
@@ -148,6 +154,7 @@ public class DemandDetailModel extends BaseModel implements DemandDetailContacts
 
     /**
      * 返回是否可以取消
+     *
      * @return
      */
     @Override
@@ -157,6 +164,7 @@ public class DemandDetailModel extends BaseModel implements DemandDetailContacts
 
     /**
      * 返回enrollId
+     *
      * @return
      */
     @Override
@@ -194,9 +202,10 @@ public class DemandDetailModel extends BaseModel implements DemandDetailContacts
         if (!TextUtils.isEmpty(lightStr))
             params.put("bright_points", lightStr);
         RequirementSubscribe requirementSubscribe = new RequirementSubscribe(mContext);
-        requirementSubscribe.requestRequirementsApply(params.getRequestParams(), new ApiObserver<ApiNormalBean>(mContext,true) {
+        requirementSubscribe.requestRequirementsApply(params.getRequestParams(), new ApiObserver<ApiNormalBean>(mContext, true) {
             @Override
             public void onSuccess(ApiNormalBean data) {
+                EventBus.getDefault().post(new TagValueEvent(EventConstant.EVENT_DEMAND_APPLY, requirementId));
                 callBack.onData(data);
             }
 

+ 10 - 2
app/src/main/java/com/webrain/happywork/ui/mvp/model/MineApplyListModel.java

@@ -3,6 +3,8 @@ package com.webrain.happywork.ui.mvp.model;
 
 import android.content.Context;
 
+import com.webrain.baselibrary.EventConstant;
+import com.webrain.baselibrary.event.TagValueEvent;
 import com.webrain.happywork.AppCacheManager;
 import com.webrain.happywork.bean.EnrollmentBean;
 import com.webrain.happywork.bean.api.ApiApplyListBean;
@@ -16,6 +18,8 @@ import com.webrain.happywork.http.subscribe.RequirementSubscribe;
 import com.webrain.happywork.ui.base.BaseModel;
 import com.webrain.happywork.ui.mvp.contacts.MineApplyListContacts;
 
+import org.greenrobot.eventbus.EventBus;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -34,6 +38,7 @@ public class MineApplyListModel extends BaseModel implements MineApplyListContac
 
     /**
      * 获取我的报名列表
+     *
      * @param callBack
      * @param isShowDialog
      */
@@ -82,16 +87,19 @@ public class MineApplyListModel extends BaseModel implements MineApplyListContac
 
     /**
      * 取消报名
+     *
      * @param callBack
      */
     @Override
     public void requestCancelApply(final MvpDataCallBack<List<EnrollmentBean>> callBack, final EnrollmentBean bean) {
         RetrofitHttpParams params = new RetrofitHttpParams(mContext);
         params.put("enroll_id", bean.getId());
-        new RequirementSubscribe(mContext).requestCancelEnrollment(params.getRequestParams(), new ApiObserver<ApiNormalBean>(mContext,true) {
+        new RequirementSubscribe(mContext).requestCancelEnrollment(params.getRequestParams(), new ApiObserver<ApiNormalBean>(mContext, true) {
             @Override
             public void onSuccess(ApiNormalBean data) {
-                if(mListData!=null){
+                if (bean.getHwRequirement() != null)
+                    EventBus.getDefault().post(new TagValueEvent(EventConstant.EVENT_DEMAND_CANCEL, bean.getHwRequirement().getId()));
+                if (mListData != null) {
                     mListData.remove(bean);
                     callBack.onData(mListData);
                 }

+ 4 - 0
app/src/main/java/com/webrain/happywork/ui/mvp/presenter/DemandDetailPresenter.java

@@ -4,6 +4,8 @@ package com.webrain.happywork.ui.mvp.presenter;
 import android.text.TextUtils;
 import android.widget.TextView;
 
+import com.webrain.baselibrary.EventConstant;
+import com.webrain.baselibrary.event.TagValueEvent;
 import com.webrain.baselibrary.utils.ToastUtils;
 import com.webrain.happywork.AppCacheManager;
 import com.webrain.happywork.R;
@@ -16,6 +18,8 @@ import com.webrain.happywork.ui.base.BasePresenter;
 import com.webrain.happywork.ui.mvp.contacts.DemandDetailContacts;
 import com.webrain.happywork.ui.mvp.model.DemandDetailModel;
 
+import org.greenrobot.eventbus.EventBus;
+
 public class DemandDetailPresenter extends BasePresenter<DemandDetailActivity> implements DemandDetailContacts.IDemandDetailPresenter {
     private DemandDetailModel mDemandDetailModel;
 

+ 12 - 4
app/src/main/res/layout/item_list_demand.xml

@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:layout_height="wrap_content">
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -115,4 +114,13 @@
         </LinearLayout>
     </LinearLayout>
 
-</LinearLayout>
+    <View
+        android:id="@+id/v_demand"
+        android:layout_width="51dp"
+        android:layout_height="51dp"
+        android:layout_alignParentRight="true"
+        android:layout_alignParentBottom="true"
+        android:visibility="gone"
+        android:background="@mipmap/ic_demand_apply" />
+
+</RelativeLayout>

BIN
app/src/main/res/mipmap-hdpi/ic_demand_apply.png


BIN
app/src/main/res/mipmap-xhdpi/ic_demand_apply.png


BIN
app/src/main/res/mipmap-xxhdpi/ic_demand_apply.png


BIN
app/src/main/res/mipmap-xxxhdpi/ic_demand_apply.png


+ 2 - 0
baselibrary/src/main/java/com/webrain/baselibrary/EventConstant.java

@@ -8,4 +8,6 @@ public class EventConstant {
     public static final String EVENT_LOGOUT = "logout"; //登出
     public static final String EVENT_AVATAR_CHANGE = "avatar_change";//头像改变
     public static final String EVENT_ORDER_SURE = "order_sure";//订单确认
+    public static final String EVENT_DEMAND_APPLY = "demand_apply";//需求报名
+    public static final String EVENT_DEMAND_CANCEL = "demand_cancel";//取消报名
 }