Commit bbc9a1fd authored by jianglx's avatar jianglx

我的发布批量删除优化

parent 0d63812d
...@@ -15,6 +15,7 @@ import com.base.utils.CrashHandler; ...@@ -15,6 +15,7 @@ import com.base.utils.CrashHandler;
import com.base.utils.eventbusmodel.EventMimcRouse; import com.base.utils.eventbusmodel.EventMimcRouse;
import com.base.utils.eventbusmodel.EventNoActivity; import com.base.utils.eventbusmodel.EventNoActivity;
import com.base.utils.eventbusmodel.EventRestartApp; import com.base.utils.eventbusmodel.EventRestartApp;
import com.bumptech.glide.request.target.ViewTarget;
import com.frame.base.FrameApp; import com.frame.base.FrameApp;
import com.frame.base.bean.BeanHeartbeat; import com.frame.base.bean.BeanHeartbeat;
import com.frame.base.manager.MyFrameManager; import com.frame.base.manager.MyFrameManager;
...@@ -50,6 +51,7 @@ public class RvClientApplication extends FrameApp { ...@@ -50,6 +51,7 @@ public class RvClientApplication extends FrameApp {
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
ViewTarget.setTagId(R.id.glideIndexTag);
Log.e("xxxxxxxxxxxxxxxxxxxxx", "RvClientApplication_onCreate"); Log.e("xxxxxxxxxxxxxxxxxxxxx", "RvClientApplication_onCreate");
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build()); StrictMode.setVmPolicy(builder.build());
......
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="glideIndexTag" type="id"/>
</resources>
...@@ -80,7 +80,7 @@ dependencies { ...@@ -80,7 +80,7 @@ dependencies {
api 'com.davemorrissey.labs:subsampling-scale-image-view:3.9.0' api 'com.davemorrissey.labs:subsampling-scale-image-view:3.9.0'
implementation 'com.alibaba:fastjson:1.2.21' implementation 'com.alibaba:fastjson:1.2.21'
implementation project(':component_utils') implementation project(':component_utils')
implementation files('libs/tbs_sdk_thirdapp_v3.6.0.1310_43612_sharewithdownload_withoutGame_obfs_20180706_163319.jar') // implementation files('libs/tbs_sdk_thirdapp_v3.6.0.1310_43612_sharewithdownload_withoutGame_obfs_20180706_163319.jar')
api 'cn.jiguang.sdk:jpush:3.3.4' // 此处以JPush 3.3.4 版本为例。 api 'cn.jiguang.sdk:jpush:3.3.4' // 此处以JPush 3.3.4 版本为例。
api 'cn.jiguang.sdk:jcore:2.1.2' // 此处以JCore 2.1.2 版本为例。 api 'cn.jiguang.sdk:jcore:2.1.2' // 此处以JCore 2.1.2 版本为例。
......
...@@ -40,6 +40,11 @@ public abstract class BaseWrapperFragment<P extends MvpPresenter> extends Suppor ...@@ -40,6 +40,11 @@ public abstract class BaseWrapperFragment<P extends MvpPresenter> extends Suppor
private Unbinder unbinder; private Unbinder unbinder;
protected CompositeDisposable disposable; protected CompositeDisposable disposable;
private boolean isLoadData = false; private boolean isLoadData = false;
protected boolean isShowDelete = false;
public void changeShowDelete() {
this.isShowDelete = !this.isShowDelete;
}
@Override @Override
public void onCreate(@Nullable Bundle savedInstanceState) { public void onCreate(@Nullable Bundle savedInstanceState) {
...@@ -183,4 +188,6 @@ public abstract class BaseWrapperFragment<P extends MvpPresenter> extends Suppor ...@@ -183,4 +188,6 @@ public abstract class BaseWrapperFragment<P extends MvpPresenter> extends Suppor
public void netUnAvailable() { public void netUnAvailable() {
} }
} }
...@@ -129,6 +129,9 @@ public class ApiConfig { ...@@ -129,6 +129,9 @@ public class ApiConfig {
//我的发布 //我的发布
public static String RVENTHUSIAST_GETBYUSERID_LIST = RvFrameConfig.HOST + "/api/im/msg/getByUserId"; public static String RVENTHUSIAST_GETBYUSERID_LIST = RvFrameConfig.HOST + "/api/im/msg/getByUserId";
// 批量删除我的发现
public static String RVENTHUSIAST_MSG_DELETES = RvFrameConfig.HOST + "/api/im/msg/delete";
//删除消息 //删除消息
public static String RVENTHUSIAST_MSG_DELETE = RvFrameConfig.IMA_BASEUSRL + "/b/circle/msg/delete"; public static String RVENTHUSIAST_MSG_DELETE = RvFrameConfig.IMA_BASEUSRL + "/b/circle/msg/delete";
...@@ -136,7 +139,7 @@ public class ApiConfig { ...@@ -136,7 +139,7 @@ public class ApiConfig {
public static String RVENTHUSIAST_GETUSERMEMBER = RvFrameConfig.HOST + "/api/admin/baseUserMember/app/getUserMember"; public static String RVENTHUSIAST_GETUSERMEMBER = RvFrameConfig.HOST + "/api/admin/baseUserMember/app/getUserMember";
//im登录 //im登录
public static String DISCOVERY_IM_LOGIN = RvFrameConfig.HOST + "/api/auth/jwt/imi/login"; public static String DISCOVERY_IM_LOGIN = RvFrameConfig.HOST + "/api/auth/jwt/imi/login";
/** /**
* 检查token是否有效 * 检查token是否有效
......
package com.rv.rvmine.adapter; package com.rv.rvmine.adapter;
import android.text.TextUtils;
import android.widget.ImageView; import android.widget.ImageView;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
...@@ -10,19 +11,20 @@ import com.ruiwenliu.wrapper.util.BaseGlideHolder; ...@@ -10,19 +11,20 @@ import com.ruiwenliu.wrapper.util.BaseGlideHolder;
import com.ruiwenliu.wrapper.util.TransformationUtil; import com.ruiwenliu.wrapper.util.TransformationUtil;
import com.ruiwenliu.wrapper.util.glide.GlideOptions; import com.ruiwenliu.wrapper.util.glide.GlideOptions;
import com.rv.rvmine.R; import com.rv.rvmine.R;
import com.rv.rvmine.bean.MyReleaseAskBean;
import com.rv.rvmine.bean.MyReleaseBean; import com.rv.rvmine.bean.MyReleaseBean;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBeanX.DataBean, BaseGlideHolder> { public class MyReleaseAskAdapter extends BaseQuickAdapter<MyReleaseAskBean.DataBean, BaseGlideHolder> {
private boolean isShowDelete = false; // 默认不显示选择框 private boolean isShowDelete = false; // 默认不显示选择框
private List<MyReleaseBean.DataBeanX.DataBean> lists = new ArrayList<>(); // 选中 private List<MyReleaseAskBean.DataBean> lists = new ArrayList<>(); // 选中
public void changeBeanStatus(MyReleaseBean.DataBeanX.DataBean bean) { public void changeBeanStatus(MyReleaseAskBean.DataBean bean) {
if (lists.contains(bean)) { if (lists.contains(bean)) {
lists.remove(bean); lists.remove(bean);
} else { } else {
...@@ -30,11 +32,11 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean ...@@ -30,11 +32,11 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean
} }
} }
public void removeSelect(MyReleaseBean.DataBeanX.DataBean bean) { public void removeSelect(MyReleaseAskBean.DataBean bean) {
if (lists.contains(bean)) lists.remove(bean); if (lists.contains(bean)) lists.remove(bean);
} }
public List<MyReleaseBean.DataBeanX.DataBean> getSelectLists() { public List<MyReleaseAskBean.DataBean> getSelectLists() {
return lists; return lists;
} }
...@@ -42,7 +44,7 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean ...@@ -42,7 +44,7 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean
lists.clear(); lists.clear();
} }
public MyReleasePatAdapter() { public MyReleaseAskAdapter() {
super(R.layout.rv_item_rv_release_pat); super(R.layout.rv_item_rv_release_pat);
} }
...@@ -52,33 +54,11 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean ...@@ -52,33 +54,11 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean
} }
@Override @Override
protected void convert(BaseGlideHolder helper, MyReleaseBean.DataBeanX.DataBean item) { protected void convert(BaseGlideHolder helper, MyReleaseAskBean.DataBean item) {
MyReleaseBean.DataBeanX.DataBean.Body body = item.getBody(); if (item != null) {
if (body != null) { if (!TextUtils.isEmpty(item.getTitle()))
if (body.getImages() != null && body.getImages().size() > 0) { helper.setText(R.id.tv_title, item.getTitle());
helper.setGone(R.id.iv_isvideo, false);
// GlideManager.getInstance(mContext).loadRoundImage2(body.getImages().get(0).getOurl(), (ImageView) helper.getView(R.id.iv_icon_pat),8);
ImageView image = helper.getView(R.id.iv_icon_pat);
GlideOptions options = GlideOptions.placeholderOf(com.ruiwenliu.wrapper.R.drawable.glide_icon_placeholder).
error(com.ruiwenliu.wrapper.R.drawable.glide_icon_error);
TransformationUtil utils = new TransformationUtil(image);
Glide.with(mContext)
.asBitmap()
.load(body.getImages().get(0).getOurl())
.apply(options)
.apply(RequestOptions.bitmapTransform(new RoundedCorners(12)).override(image.getWidth(), image.getHeight()))
.into(utils);
}
helper.setText(R.id.tv_title, body.getText());
// helper.setText(R.id.tv_address, body);
if ("4".equals(body.getType())) { //消息类型 基础属性 1=文字消息、2=图文消息、3=语音消息、4=视频消息、 5=文件消
helper.setGone(R.id.iv_isvideo, true);
} else {
helper.setGone(R.id.iv_isvideo, false);
}
if (isShowDelete) { if (isShowDelete) {
helper.setVisible(R.id.rl_delete_select, true); helper.setVisible(R.id.rl_delete_select, true);
} else { } else {
......
package com.rv.rvmine.adapter; package com.rv.rvmine.adapter;
import android.text.TextUtils;
import android.widget.ImageView; import android.widget.ImageView;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
...@@ -9,16 +10,49 @@ import com.chad.library.adapter.base.BaseQuickAdapter; ...@@ -9,16 +10,49 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ruiwenliu.wrapper.util.BaseGlideHolder; import com.ruiwenliu.wrapper.util.BaseGlideHolder;
import com.ruiwenliu.wrapper.util.TransformationUtil; import com.ruiwenliu.wrapper.util.TransformationUtil;
import com.ruiwenliu.wrapper.util.glide.GlideOptions; import com.ruiwenliu.wrapper.util.glide.GlideOptions;
import com.rv.home.rv.module.ui.main.home.bean.HomeRecommendBean;
import com.rv.rvmine.R; import com.rv.rvmine.R;
import com.rv.rvmine.bean.MyReleaseBean; import com.rv.rvmine.bean.MyReleaseBean;
import java.util.ArrayList;
import java.util.List;
public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBeanX.DataBean, BaseGlideHolder> { public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBeanX.DataBean, BaseGlideHolder> {
private boolean isShowDelete = false; // 默认不显示选择框
private List<MyReleaseBean.DataBeanX.DataBean> lists = new ArrayList<>(); // 选中
public void changeBeanStatus(MyReleaseBean.DataBeanX.DataBean bean) {
if (lists.contains(bean)) {
lists.remove(bean);
} else {
lists.add(bean);
}
}
public void removeSelect(MyReleaseBean.DataBeanX.DataBean bean) {
if (lists.contains(bean)) lists.remove(bean);
}
public List<MyReleaseBean.DataBeanX.DataBean> getSelectLists() {
return lists;
}
public void clear() {
lists.clear();
}
public MyReleasePatAdapter() { public MyReleasePatAdapter() {
super(R.layout.rv_item_rv_release_pat); super(R.layout.rv_item_rv_release_pat);
} }
public void changeViewShowState(boolean b) {
this.isShowDelete = b;
// notify();
notifyDataSetChanged();
}
@Override @Override
protected void convert(BaseGlideHolder helper, MyReleaseBean.DataBeanX.DataBean item) { protected void convert(BaseGlideHolder helper, MyReleaseBean.DataBeanX.DataBean item) {
MyReleaseBean.DataBeanX.DataBean.Body body = item.getBody(); MyReleaseBean.DataBeanX.DataBean.Body body = item.getBody();
...@@ -28,15 +62,20 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean ...@@ -28,15 +62,20 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean
// GlideManager.getInstance(mContext).loadRoundImage2(body.getImages().get(0).getOurl(), (ImageView) helper.getView(R.id.iv_icon_pat),8); // GlideManager.getInstance(mContext).loadRoundImage2(body.getImages().get(0).getOurl(), (ImageView) helper.getView(R.id.iv_icon_pat),8);
ImageView image = helper.getView(R.id.iv_icon_pat); ImageView image = helper.getView(R.id.iv_icon_pat);
GlideOptions options = GlideOptions.placeholderOf(com.ruiwenliu.wrapper.R.drawable.glide_icon_placeholder).
error(com.ruiwenliu.wrapper.R.drawable.glide_icon_error); if (!TextUtils.isEmpty(item.getBody().getImages().get(0).getOurl()) && !item.getBody().getImages().get(0).getOurl().equals(image.getTag())) {
TransformationUtil utils = new TransformationUtil(image); image.setTag(null);//需要清
Glide.with(mContext) GlideOptions options = GlideOptions.placeholderOf(com.ruiwenliu.wrapper.R.drawable.glide_icon_placeholder).
.asBitmap() error(com.ruiwenliu.wrapper.R.drawable.glide_icon_error);
.load(body.getImages().get(0).getOurl()) TransformationUtil utils = new TransformationUtil(image);
.apply(options) Glide.with(mContext)
.apply(RequestOptions.bitmapTransform(new RoundedCorners(12)).override(image.getWidth(), image.getHeight())) .asBitmap()
.into(utils); .load(body.getImages().get(0).getOurl())
.apply(options)
.apply(RequestOptions.bitmapTransform(new RoundedCorners(12)).override(image.getWidth(), image.getHeight()))
.into(utils);
image.setTag(item.getBody().getImages().get(0).getOurl());
}
} }
helper.setText(R.id.tv_title, body.getText()); helper.setText(R.id.tv_title, body.getText());
...@@ -47,7 +86,21 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean ...@@ -47,7 +86,21 @@ public class MyReleasePatAdapter extends BaseQuickAdapter<MyReleaseBean.DataBean
helper.setGone(R.id.iv_isvideo, false); helper.setGone(R.id.iv_isvideo, false);
} }
if (isShowDelete) {
helper.setVisible(R.id.rl_delete_select, true);
} else {
helper.setVisible(R.id.rl_delete_select, false);
}
if (lists.contains(item)) {
helper.setVisible(R.id.iv_delete_select, true);
} else {
helper.setVisible(R.id.iv_delete_select, false);
}
helper.addOnLongClickListener(R.id.ll_item_rv_enthusiast); helper.addOnLongClickListener(R.id.ll_item_rv_enthusiast);
helper.addOnClickListener(R.id.rl_delete_select);
} }
} }
} }
package com.rv.rvmine.adapter; package com.rv.rvmine.adapter;
import android.text.TextUtils;
import android.widget.ImageView; import android.widget.ImageView;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
...@@ -9,19 +10,50 @@ import com.chad.library.adapter.base.BaseQuickAdapter; ...@@ -9,19 +10,50 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ruiwenliu.wrapper.util.BaseGlideHolder; import com.ruiwenliu.wrapper.util.BaseGlideHolder;
import com.ruiwenliu.wrapper.util.TransformationUtil; import com.ruiwenliu.wrapper.util.TransformationUtil;
import com.ruiwenliu.wrapper.util.glide.GlideOptions; import com.ruiwenliu.wrapper.util.glide.GlideOptions;
import com.rv.home.rv.module.ui.main.home.bean.HomeRecommendBean;
import com.rv.rvmine.R; import com.rv.rvmine.R;
import com.rv.rvmine.bean.MyReleaseBean; import com.rv.rvmine.bean.MyReleaseBean;
import java.util.ArrayList;
import java.util.List;
/** /**
* 短视频 * 短视频
*/ */
public class MyReleaseVideoAdapter extends BaseQuickAdapter<MyReleaseBean.DataBeanX.DataBean, BaseGlideHolder> { public class MyReleaseVideoAdapter extends BaseQuickAdapter<MyReleaseBean.DataBeanX.DataBean, BaseGlideHolder> {
private boolean isShowDelete = false; // 默认不显示选择框
private List<MyReleaseBean.DataBeanX.DataBean> lists = new ArrayList<>(); // 选中
public MyReleaseVideoAdapter() { public MyReleaseVideoAdapter() {
super(R.layout.rv_item_rv_release_video); super(R.layout.rv_item_rv_release_video);
} }
public void changeBeanStatus(MyReleaseBean.DataBeanX.DataBean bean) {
if (lists.contains(bean)) {
lists.remove(bean);
} else {
lists.add(bean);
}
}
public void removeSelect(MyReleaseBean.DataBeanX.DataBean bean) {
if (lists.contains(bean)) lists.remove(bean);
}
public List<MyReleaseBean.DataBeanX.DataBean> getSelectLists() {
return lists;
}
public void clear() {
lists.clear();
}
public void changeViewShowState(boolean b) {
this.isShowDelete = b;
notifyDataSetChanged();
}
@Override @Override
protected void convert(BaseGlideHolder helper, MyReleaseBean.DataBeanX.DataBean item) { protected void convert(BaseGlideHolder helper, MyReleaseBean.DataBeanX.DataBean item) {
MyReleaseBean.DataBeanX.DataBean.Body body = item.getBody(); MyReleaseBean.DataBeanX.DataBean.Body body = item.getBody();
...@@ -29,17 +61,20 @@ public class MyReleaseVideoAdapter extends BaseQuickAdapter<MyReleaseBean.DataBe ...@@ -29,17 +61,20 @@ public class MyReleaseVideoAdapter extends BaseQuickAdapter<MyReleaseBean.DataBe
if (body.getVideos() != null && body.getVideos().size() > 0) { if (body.getVideos() != null && body.getVideos().size() > 0) {
// GlideManager.getInstance(mContext).loadRoundImage2(body.getImages().get(0).getOurl(), (ImageView) helper.getView(R.id.iv_icon_pat),8); // GlideManager.getInstance(mContext).loadRoundImage2(body.getImages().get(0).getOurl(), (ImageView) helper.getView(R.id.iv_icon_pat),8);
ImageView image = helper.getView(R.id.iv_icon_pat); ImageView image = helper.getView(R.id.iv_icon_pat);
GlideOptions options = GlideOptions.placeholderOf(com.ruiwenliu.wrapper.R.drawable.glide_icon_placeholder). if (!TextUtils.isEmpty(body.getVideos().get(0).getOurl()) && !body.getVideos().get(0).getOurl().equals(image.getTag())) {
error(com.ruiwenliu.wrapper.R.drawable.glide_icon_error); image.setTag(null);//需要清
TransformationUtil utils = new TransformationUtil(image); GlideOptions options = GlideOptions.placeholderOf(com.ruiwenliu.wrapper.R.drawable.glide_icon_placeholder).
Glide.with(mContext) error(com.ruiwenliu.wrapper.R.drawable.glide_icon_error);
.asBitmap() TransformationUtil utils = new TransformationUtil(image);
.load(body.getVideos().get(0).getOurl()) Glide.with(mContext)
.apply(options) .asBitmap()
.apply(RequestOptions.bitmapTransform(new RoundedCorners(12)).override(image.getWidth(), image.getHeight())) .load(body.getVideos().get(0).getOurl())
.into(utils); .apply(options)
.apply(RequestOptions.bitmapTransform(new RoundedCorners(12)).override(image.getWidth(), image.getHeight()))
.into(utils);
image.setTag(body.getVideos().get(0).getOurl());
}
} }
helper.setText(R.id.tv_title, body.getText()); helper.setText(R.id.tv_title, body.getText());
...@@ -50,6 +85,18 @@ public class MyReleaseVideoAdapter extends BaseQuickAdapter<MyReleaseBean.DataBe ...@@ -50,6 +85,18 @@ public class MyReleaseVideoAdapter extends BaseQuickAdapter<MyReleaseBean.DataBe
helper.setGone(R.id.iv_isvideo, false); helper.setGone(R.id.iv_isvideo, false);
} }
if (isShowDelete) {
helper.setVisible(R.id.rl_delete_select, true);
} else {
helper.setVisible(R.id.rl_delete_select, false);
}
if (lists.contains(item)) {
helper.setVisible(R.id.iv_delete_select, true);
} else {
helper.setVisible(R.id.iv_delete_select, false);
}
helper.addOnLongClickListener(R.id.ll_item_rv_enthusiast); helper.addOnLongClickListener(R.id.ll_item_rv_enthusiast);
} }
} }
......
package com.rv.rvmine.bean; package com.rv.rvmine.bean;
public class MyReleaseAskBean { import com.ruiwenliu.wrapper.base.BaseBean;
import java.util.List;
public class MyReleaseAskBean extends BaseBean {
private boolean rel;
private DataBeanX data;
public boolean isRel() {
return rel;
}
public void setRel(boolean rel) {
this.rel = rel;
}
public DataBeanX getData() {
return data;
}
public void setData(DataBeanX data) {
this.data = data;
}
public class DataBeanX {
private int totalCount;
private int totalPage;
private int pageNum;
private int pageSize;
private List<DataBean> data;
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
}
public class DataBean {
private int id;
private String title;
private double latitude;
private double longitude;
private String model;
private long time;
private long userId;
private int visible;
private boolean isDel;
private long crtTime;
private long updTime;
private String content;
private long commentCount;
private long praiseCount;
private String nickname;
private String picUrl;
private List<Comment> imComment;
private List<Praise> imPraise;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public long getUserId() {
return userId;
}
public void setUserId(long userId) {
this.userId = userId;
}
public int getVisible() {
return visible;
}
public void setVisible(int visible) {
this.visible = visible;
}
public boolean isDel() {
return isDel;
}
public void setDel(boolean del) {
isDel = del;
}
public long getCrtTime() {
return crtTime;
}
public void setCrtTime(long crtTime) {
this.crtTime = crtTime;
}
public long getUpdTime() {
return updTime;
}
public void setUpdTime(long updTime) {
this.updTime = updTime;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public long getCommentCount() {
return commentCount;
}
public void setCommentCount(long commentCount) {
this.commentCount = commentCount;
}
public long getPraiseCount() {
return praiseCount;
}
public void setPraiseCount(long praiseCount) {
this.praiseCount = praiseCount;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getPicUrl() {
return picUrl;
}
public void setPicUrl(String picUrl) {
this.picUrl = picUrl;
}
public List<Comment> getImComment() {
return imComment;
}
public void setImComment(List<Comment> imComment) {
this.imComment = imComment;
}
public List<Praise> getImPraise() {
return imPraise;
}
public void setImPraise(List<Praise> imPraise) {
this.imPraise = imPraise;
}
}
public class Comment {
private int id;
private int questionId;
private String content;
private long time;
private long userId;
private int visible;
private int visibleOwn;
private int state;
private boolean isDel;
private String nickname;
private String picUrl;
private long crtTime;
private long updTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getQuestionId() {
return questionId;
}
public void setQuestionId(int questionId) {
this.questionId = questionId;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public long getUserId() {
return userId;
}
public void setUserId(long userId) {
this.userId = userId;
}
public int getVisible() {
return visible;
}
public void setVisible(int visible) {
this.visible = visible;
}
public int getVisibleOwn() {
return visibleOwn;
}
public void setVisibleOwn(int visibleOwn) {
this.visibleOwn = visibleOwn;
}
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
public boolean isDel() {
return isDel;
}
public void setDel(boolean del) {
isDel = del;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getPicUrl() {
return picUrl;
}
public void setPicUrl(String picUrl) {
this.picUrl = picUrl;
}
public long getCrtTime() {
return crtTime;
}
public void setCrtTime(long crtTime) {
this.crtTime = crtTime;
}
public long getUpdTime() {
return updTime;
}
public void setUpdTime(long updTime) {
this.updTime = updTime;
}
}
public class Praise {
private int id;
private int questionId;
private long userId;
private long time;
private int visible;
private boolean isDel;
private String nickname;
private String picUrl;
private long crtTime;
private long updTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getQuestionId() {
return questionId;
}
public void setQuestionId(int questionId) {
this.questionId = questionId;
}
public long getUserId() {
return userId;
}
public void setUserId(long userId) {
this.userId = userId;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public int getVisible() {
return visible;
}
public void setVisible(int visible) {
this.visible = visible;
}
public boolean isDel() {
return isDel;
}
public void setDel(boolean del) {
isDel = del;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getPicUrl() {
return picUrl;
}
public void setPicUrl(String picUrl) {
this.picUrl = picUrl;
}
public long getCrtTime() {
return crtTime;
}
public void setCrtTime(long crtTime) {
this.crtTime = crtTime;
}
public long getUpdTime() {
return updTime;
}
public void setUpdTime(long updTime) {
this.updTime = updTime;
}
}
} }
...@@ -5,6 +5,7 @@ import android.os.Bundle; ...@@ -5,6 +5,7 @@ import android.os.Bundle;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager; import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View; import android.view.View;
import android.widget.LinearLayout;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
...@@ -16,11 +17,10 @@ import com.ruiwenliu.wrapper.base.presenter.CommonPresenter; ...@@ -16,11 +17,10 @@ import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.ui.main.home.bean.HomeRecommendBean;
import com.rv.rvmine.R; import com.rv.rvmine.R;
import com.rv.rvmine.R2; import com.rv.rvmine.R2;
import com.rv.rvmine.adapter.MyReleasePatAdapter; import com.rv.rvmine.adapter.MyReleaseAskAdapter;
import com.rv.rvmine.bean.MyReleaseBean; import com.rv.rvmine.bean.MyReleaseAskBean;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
...@@ -37,10 +37,12 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen ...@@ -37,10 +37,12 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen
RecyclerView rvContent; RecyclerView rvContent;
@BindView(R2.id.refresh) @BindView(R2.id.refresh)
SimpleRefreshLayout mSimpleRefreshLayout; SimpleRefreshLayout mSimpleRefreshLayout;
@BindView(R2.id.ll_delete)
LinearLayout llDelete;
private int countPage; private int countPage;
private int mPage; private int mPage;
private MyReleasePatAdapter mAdapter; private MyReleaseAskAdapter mAdapter;
public static MyReleaseAskFragment getInstance(int type) { public static MyReleaseAskFragment getInstance(int type) {
Bundle bundl = new Bundle(); Bundle bundl = new Bundle();
...@@ -50,6 +52,24 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen ...@@ -50,6 +52,24 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen
return fragment; return fragment;
} }
public void changeShowNormal() {
if (this.isShowDelete) {
changeShowDelete();
}
}
@Override
public void changeShowDelete() {
super.changeShowDelete();
if (this.isShowDelete) {
llDelete.setVisibility(View.VISIBLE);
} else {
llDelete.setVisibility(View.GONE);
mAdapter.clear();
}
mAdapter.changeViewShowState(this.isShowDelete);
}
@Override @Override
public int getViewLayout() { public int getViewLayout() {
return R.layout.fragment_my_release_pat; return R.layout.fragment_my_release_pat;
...@@ -60,7 +80,7 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen ...@@ -60,7 +80,7 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen
mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(_mActivity)); mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(_mActivity));
mSimpleRefreshLayout.setOnSimpleRefreshListener(this); mSimpleRefreshLayout.setOnSimpleRefreshListener(this);
mAdapter = new MyReleasePatAdapter(); mAdapter = new MyReleaseAskAdapter();
final StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL); final StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
rvContent.setItemAnimator(null); rvContent.setItemAnimator(null);
...@@ -86,17 +106,17 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen ...@@ -86,17 +106,17 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
MyReleaseBean.DataBeanX.DataBean item = (MyReleaseBean.DataBeanX.DataBean) adapter.getItem(position); // MyReleaseAskBean.DataBean item = (MyReleaseAskBean.DataBean) adapter.getItem(position);
if (item != null) { // if (item != null) {
ARouter.getInstance() // ARouter.getInstance()
.build(Constance.ACTIVITY_URL_DETAILPAT) // .build(Constance.ACTIVITY_URL_DETAILPAT)
.withString("id", item.getMsgId()) // .withString("id", item.getMsgId())
.withString("title", item.getBody().getText()) // .withString("title", item.getBody().getText())
.withString("iconUrl", item.getBody().getImages().get(0).getOurl()) // .withString("iconUrl", item.getBody().getImages().get(0).getOurl())
.withString("userName", item.getNickname()) // .withString("userName", item.getNickname())
.withString("userUrl", item.getPicUrl()) // .withString("userUrl", item.getPicUrl())
.navigation(); // .navigation();
} // }
} }
}); });
...@@ -132,13 +152,13 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen ...@@ -132,13 +152,13 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen
mSimpleRefreshLayout.onRefreshComplete(); mSimpleRefreshLayout.onRefreshComplete();
switch (requestType) { switch (requestType) {
case 0: case 0:
processData((MyReleaseBean) result); processData((MyReleaseAskBean) result);
break; break;
} }
} }
private void processData(MyReleaseBean bean) { private void processData(MyReleaseAskBean bean) {
if (mPage == 1) { if (mPage == 1) {
countPage = bean.getData().getPageSize(); countPage = bean.getData().getPageSize();
mAdapter.setNewData(bean.getData().getData()); mAdapter.setNewData(bean.getData().getData());
...@@ -178,7 +198,7 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen ...@@ -178,7 +198,7 @@ public class MyReleaseAskFragment extends BaseFragment<CommonPresenter> implemen
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("page", page); map.put("page", page);
map.put("type", "5"); map.put("type", "5");
mPresenter.getData(RvFrameConfig.HOST, 0, ApiConfig.RVENTHUSIAST_GETBYUSERID_LIST, MyReleaseBean.class, map, headMap, page == 1 ? true : false); mPresenter.getData(RvFrameConfig.HOST, 0, ApiConfig.RVENTHUSIAST_GETBYUSERID_LIST, MyReleaseAskBean.class, map, headMap, page == 1 ? true : false);
} }
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration { public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
......
package com.rv.rvmine.fragment; package com.rv.rvmine.fragment;
import android.content.Intent;
import android.graphics.Rect; import android.graphics.Rect;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager; import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View; import android.view.View;
import android.widget.LinearLayout;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.baidu.mapapi.model.LatLng;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.base.url.Constance; import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment; import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.base.presenter.CommonPresenter; import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.ruiwenliu.wrapper.util.MapUtil; import com.ruiwenliu.wrapper.weight.ToastView;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView;
import com.rv.component.dialog.BottomDeleteDialog;
import com.rv.component.dialog.BottomPromptDialog;
import com.rv.component.utils.LocationRecord;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.ui.main.home.bean.HomeRecommendBean;
import com.rv.rvmine.R; import com.rv.rvmine.R;
import com.rv.rvmine.R2; import com.rv.rvmine.R2;
import com.rv.rvmine.adapter.MyReleasePatAdapter; import com.rv.rvmine.adapter.MyReleasePatAdapter;
import com.rv.rvmine.bean.MyReleaseBean; import com.rv.rvmine.bean.MyReleaseBean;
import com.rv.rvmine.bean.MyReleaseIMTokenBean;
import com.rv.rvmine.traveler.MyReleaseActivity;
import com.xxrv.coupon.fragment.ExpiredCouponFragment;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.util.Iterator;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
...@@ -48,11 +40,13 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen ...@@ -48,11 +40,13 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen
RecyclerView rvContent; RecyclerView rvContent;
@BindView(R2.id.refresh) @BindView(R2.id.refresh)
SimpleRefreshLayout mSimpleRefreshLayout; SimpleRefreshLayout mSimpleRefreshLayout;
@BindView(R2.id.ll_delete)
LinearLayout llDelete;
private int countPage; private int countPage;
private int mPage; private int mPage;
private String deleteMsgId;
private int deletePosition;
private MyReleasePatAdapter mAdapter; private MyReleasePatAdapter mAdapter;
private List<MyReleaseBean.DataBeanX.DataBean> delteMsgs;
public static MyReleasePatFragment getInstance(int type) { public static MyReleasePatFragment getInstance(int type) {
Bundle bundl = new Bundle(); Bundle bundl = new Bundle();
...@@ -67,6 +61,24 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen ...@@ -67,6 +61,24 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen
return R.layout.fragment_my_release_pat; return R.layout.fragment_my_release_pat;
} }
public void changeShowNormal() {
if (this.isShowDelete) {
changeShowDelete();
}
}
@Override
public void changeShowDelete() {
super.changeShowDelete();
if (this.isShowDelete) {
llDelete.setVisibility(View.VISIBLE);
} else {
llDelete.setVisibility(View.GONE);
mAdapter.clear();
}
mAdapter.changeViewShowState(this.isShowDelete);
}
@Override @Override
protected void initView(Bundle savedInstanceState) { protected void initView(Bundle savedInstanceState) {
mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(_mActivity)); mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(_mActivity));
...@@ -88,6 +100,18 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen ...@@ -88,6 +100,18 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen
} }
}); });
llDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mAdapter.getSelectLists().size() == 0) {
ToastView.getInstance(getContext()).showToastContent("暂无选中的拍拍");
return;
}
delteMsgs = mAdapter.getSelectLists();
deleteData();
}
});
rvContent.setLayoutManager(staggeredGridLayoutManager); rvContent.setLayoutManager(staggeredGridLayoutManager);
rvContent.addItemDecoration(new AbSpacesItemDecoration(20, 10));// 分割线。 rvContent.addItemDecoration(new AbSpacesItemDecoration(20, 10));// 分割线。
rvContent.setAdapter(mAdapter); rvContent.setAdapter(mAdapter);
...@@ -98,32 +122,25 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen ...@@ -98,32 +122,25 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
MyReleaseBean.DataBeanX.DataBean item = (MyReleaseBean.DataBeanX.DataBean) adapter.getItem(position);
if (item != null) {
ARouter.getInstance()
.build(Constance.ACTIVITY_URL_DETAILPAT)
.withString("id", item.getMsgId())
.withString("title", item.getBody().getText())
.withString("iconUrl", item.getBody().getImages().get(0).getOurl())
.withString("userName", item.getNickname())
.withString("userUrl", item.getPicUrl())
.navigation();
}
}
});
mAdapter.setOnItemChildLongClickListener(new BaseQuickAdapter.OnItemChildLongClickListener() {
@Override if (view.getId() == R.id.ll_item_rv_enthusiast || view.getId() == R.id.rl_delete_select) {
public boolean onItemChildLongClick(BaseQuickAdapter adapter, View view, int position) { MyReleaseBean.DataBeanX.DataBean item = (MyReleaseBean.DataBeanX.DataBean) adapter.getItem(position);
int id = view.getId(); if (item != null) {
deletePosition = position; if (isShowDelete) {
MyReleaseBean.DataBeanX.DataBean dataBean = (MyReleaseBean.DataBeanX.DataBean) adapter.getItem(position); mAdapter.changeBeanStatus(item);
deleteMsgId = dataBean.getMsgId(); mAdapter.notifyItemChanged(position);
if (id == R.id.ll_item_rv_enthusiast) { } else {
showDeleteDialgo(); ARouter.getInstance()
.build(Constance.ACTIVITY_URL_DETAILPAT)
.withString("id", item.getMsgId())
.withString("title", item.getBody().getText())
.withString("iconUrl", item.getBody().getImages().get(0).getOurl())
.withString("userName", item.getNickname())
.withString("userUrl", item.getPicUrl())
.navigation();
}
}
} }
return false;
} }
}); });
...@@ -160,12 +177,17 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen ...@@ -160,12 +177,17 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen
case 0: case 0:
processData((MyReleaseBean) result); processData((MyReleaseBean) result);
break; break;
case 1:
deleteData((MyReleaseIMTokenBean) result);
break;
case 2: case 2:
mAdapter.remove(deletePosition); Iterator<MyReleaseBean.DataBeanX.DataBean> iterator = delteMsgs.iterator();
mAdapter.notifyItemChanged(deletePosition); while (iterator.hasNext()) {
MyReleaseBean.DataBeanX.DataBean bean = iterator.next();
if (mAdapter.getData().contains(bean)) {
int indexOf = mAdapter.getData().lastIndexOf(bean);
mAdapter.removeSelect(bean);
mAdapter.remove(indexOf);
mAdapter.notifyItemChanged(indexOf);
}
}
break; break;
} }
} }
...@@ -213,38 +235,19 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen ...@@ -213,38 +235,19 @@ public class MyReleasePatFragment extends BaseFragment<CommonPresenter> implemen
mPresenter.getData(RvFrameConfig.HOST, 0, ApiConfig.RVENTHUSIAST_GETBYUSERID_LIST, MyReleaseBean.class, map, headMap, page == 1 ? true : false); mPresenter.getData(RvFrameConfig.HOST, 0, ApiConfig.RVENTHUSIAST_GETBYUSERID_LIST, MyReleaseBean.class, map, headMap, page == 1 ? true : false);
} }
public void showDeleteDialgo() { private void deleteData() {
new BottomDeleteDialog(_mActivity) {
@Override
public void helper(ViewHolder helper) {
super.helper(helper);
helper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int i = v.getId();
if (i == R.id.ll_item_delete) {
getImToken();
dismiss();
}
}
}, R.id.ll_item_delete);
}
}.show();
}
private void getImToken() {
if (OkGoUtil.getToken() != null) { if (OkGoUtil.getToken() != null) {
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> header = new LinkedHashMap<>();
headMap.put("Authorization", OkGoUtil.getToken()); header.put("Authorization", OkGoUtil.getToken());
mPresenter.postData(RvFrameConfig.HOST, 1, ApiConfig.DISCOVERY_IM_LOGIN, MyReleaseIMTokenBean.class, headMap, headMap, true);
}
}
private void deleteData(MyReleaseIMTokenBean imTokenBean) { Map<String, Object> map = new LinkedHashMap<>();
Map<String, Object> map = new LinkedHashMap<>(); StringBuilder builder = new StringBuilder();
map.put("messageId", deleteMsgId); for (MyReleaseBean.DataBeanX.DataBean bean : delteMsgs) {
map.put("access_token", imTokenBean.getData()); builder.append(bean.getMsgId()).append(",");
mPresenter.getData(RvFrameConfig.HOST, 2, ApiConfig.RVENTHUSIAST_MSG_DELETE, BaseBean.class, map, true); }
map.put("ids", builder.toString().substring(0, builder.lastIndexOf(",")));
mPresenter.getData(RvFrameConfig.HOST, 2, ApiConfig.RVENTHUSIAST_MSG_DELETES, BaseBean.class, map, header, true);
}
} }
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration { public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
......
...@@ -5,29 +5,26 @@ import android.os.Bundle; ...@@ -5,29 +5,26 @@ import android.os.Bundle;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager; import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View; import android.view.View;
import android.widget.LinearLayout;
import com.alibaba.android.arouter.launcher.ARouter;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment; import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.base.presenter.CommonPresenter; import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.ruiwenliu.wrapper.util.ViewHolder; import com.ruiwenliu.wrapper.weight.ToastView;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView;
import com.rv.component.dialog.BottomDeleteDialog;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.ui.main.home.bean.HomeRecommendBean;
import com.rv.rvmine.R; import com.rv.rvmine.R;
import com.rv.rvmine.R2; import com.rv.rvmine.R2;
import com.rv.rvmine.adapter.MyReleasePatAdapter;
import com.rv.rvmine.adapter.MyReleaseVideoAdapter; import com.rv.rvmine.adapter.MyReleaseVideoAdapter;
import com.rv.rvmine.bean.MyReleaseBean; import com.rv.rvmine.bean.MyReleaseBean;
import com.rv.rvmine.bean.MyReleaseIMTokenBean;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.util.Iterator;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
...@@ -41,12 +38,13 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem ...@@ -41,12 +38,13 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem
RecyclerView rvContent; RecyclerView rvContent;
@BindView(R2.id.refresh) @BindView(R2.id.refresh)
SimpleRefreshLayout mSimpleRefreshLayout; SimpleRefreshLayout mSimpleRefreshLayout;
@BindView(R2.id.ll_delete)
LinearLayout llDelete;
private int countPage; private int countPage;
private int mPage; private int mPage;
private String deleteMsgId;
private int deletePosition;
private MyReleaseVideoAdapter mAdapter; private MyReleaseVideoAdapter mAdapter;
private List<MyReleaseBean.DataBeanX.DataBean> delteMsgs;
public static MyReleaseVideoFragment getInstance(int type) { public static MyReleaseVideoFragment getInstance(int type) {
Bundle bundl = new Bundle(); Bundle bundl = new Bundle();
...@@ -61,6 +59,24 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem ...@@ -61,6 +59,24 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem
return R.layout.fragment_my_release_pat; return R.layout.fragment_my_release_pat;
} }
public void changeShowNormal() {
if (this.isShowDelete) {
changeShowDelete();
}
}
@Override
public void changeShowDelete() {
super.changeShowDelete();
if (this.isShowDelete) {
llDelete.setVisibility(View.VISIBLE);
} else {
llDelete.setVisibility(View.GONE);
mAdapter.clear();
}
mAdapter.changeViewShowState(this.isShowDelete);
}
@Override @Override
protected void initView(Bundle savedInstanceState) { protected void initView(Bundle savedInstanceState) {
mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(_mActivity)); mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(_mActivity));
...@@ -82,6 +98,18 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem ...@@ -82,6 +98,18 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem
} }
}); });
llDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mAdapter.getSelectLists().size() == 0) {
ToastView.getInstance(getContext()).showToastContent("暂无选中的视频");
return;
}
delteMsgs = mAdapter.getSelectLists();
deleteData();
}
});
rvContent.setLayoutManager(staggeredGridLayoutManager); rvContent.setLayoutManager(staggeredGridLayoutManager);
rvContent.addItemDecoration(new AbSpacesItemDecoration(20, 10));// 分割线。 rvContent.addItemDecoration(new AbSpacesItemDecoration(20, 10));// 分割线。
rvContent.setAdapter(mAdapter); rvContent.setAdapter(mAdapter);
...@@ -94,6 +122,11 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem ...@@ -94,6 +122,11 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
MyReleaseBean.DataBeanX.DataBean item = (MyReleaseBean.DataBeanX.DataBean) adapter.getItem(position); MyReleaseBean.DataBeanX.DataBean item = (MyReleaseBean.DataBeanX.DataBean) adapter.getItem(position);
if (item != null) { if (item != null) {
if (isShowDelete) {
mAdapter.changeBeanStatus(item);
mAdapter.notifyItemChanged(position);
} else {
// ARouter.getInstance() // ARouter.getInstance()
// .build(Constance.ACTIVITY_URL_DETAILPAT) // .build(Constance.ACTIVITY_URL_DETAILPAT)
// .withString("id", item.getMsgId()) // .withString("id", item.getMsgId())
...@@ -102,26 +135,11 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem ...@@ -102,26 +135,11 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem
// .withString("userName", item.getNickname()) // .withString("userName", item.getNickname())
// .withString("userUrl", item.getPicUrl()) // .withString("userUrl", item.getPicUrl())
// .navigation(); // .navigation();
}
} }
} }
}); });
mAdapter.setOnItemChildLongClickListener(new BaseQuickAdapter.OnItemChildLongClickListener() {
@Override
public boolean onItemChildLongClick(BaseQuickAdapter adapter, View view, int position) {
deletePosition = position;
MyReleaseBean.DataBeanX.DataBean dataBean = (MyReleaseBean.DataBeanX.DataBean) adapter.getItem(position);
deleteMsgId = dataBean.getMsgId();
int id = view.getId();
if (id == R.id.ll_item_rv_enthusiast) {
showDeleteDialgo();
}
return false;
}
});
mAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() { mAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override @Override
public void onLoadMoreRequested() { public void onLoadMoreRequested() {
...@@ -155,49 +173,34 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem ...@@ -155,49 +173,34 @@ public class MyReleaseVideoFragment extends BaseFragment<CommonPresenter> implem
case 0: case 0:
processData((MyReleaseBean) result); processData((MyReleaseBean) result);
break; break;
case 1:
deleteData((MyReleaseIMTokenBean) result);
break;
case 2: case 2:
mAdapter.remove(deletePosition); Iterator<MyReleaseBean.DataBeanX.DataBean> iterator = delteMsgs.iterator();
mAdapter.notifyItemChanged(deletePosition); while (iterator.hasNext()) {
MyReleaseBean.DataBeanX.DataBean bean = iterator.next();
if (mAdapter.getData().contains(bean)) {
int indexOf = mAdapter.getData().lastIndexOf(bean);
mAdapter.removeSelect(bean);
mAdapter.remove(indexOf);
mAdapter.notifyItemChanged(indexOf);
}
}
break; break;
} }
} }
public void showDeleteDialgo() { private void deleteData() {
new BottomDeleteDialog(_mActivity) {
@Override
public void helper(ViewHolder helper) {
super.helper(helper);
helper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int i = v.getId();
if (i == R.id.ll_item_delete) {
getImToken();
dismiss();
}
}
}, R.id.ll_item_delete);
}
}.show();
}
private void getImToken() {
if (OkGoUtil.getToken() != null) { if (OkGoUtil.getToken() != null) {
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> header = new LinkedHashMap<>();
headMap.put("Authorization", OkGoUtil.getToken()); header.put("Authorization", OkGoUtil.getToken());
mPresenter.postData(RvFrameConfig.HOST, 1, ApiConfig.DISCOVERY_IM_LOGIN, MyReleaseIMTokenBean.class, headMap, headMap, true);
}
}
private void deleteData(MyReleaseIMTokenBean imTokenBean) { Map<String, Object> map = new LinkedHashMap<>();
Map<String, Object> map = new LinkedHashMap<>(); StringBuilder builder = new StringBuilder();
map.put("messageId", deleteMsgId); for (MyReleaseBean.DataBeanX.DataBean bean : delteMsgs) {
map.put("access_token", imTokenBean.getData()); builder.append(bean.getMsgId()).append(",");
mPresenter.getData(RvFrameConfig.HOST, 2, ApiConfig.RVENTHUSIAST_MSG_DELETE, BaseBean.class, map, true); }
map.put("ids", builder.toString().substring(0, builder.lastIndexOf(",")));
mPresenter.getData(RvFrameConfig.HOST, 2, ApiConfig.RVENTHUSIAST_MSG_DELETES, BaseBean.class, map, header, true);
}
} }
private void processData(MyReleaseBean bean) { private void processData(MyReleaseBean bean) {
......
...@@ -8,13 +8,22 @@ import android.support.v4.view.ViewPager; ...@@ -8,13 +8,22 @@ import android.support.v4.view.ViewPager;
import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.View; import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ruiwenliu.wrapper.adapter.TabAdapter; import com.ruiwenliu.wrapper.adapter.TabAdapter;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment; import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.base.BaseWrapperFragment;
import com.ruiwenliu.wrapper.base.presenter.CommonPresenter; import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.ruiwenliu.wrapper.util.TransformationUtil;
import com.ruiwenliu.wrapper.util.glide.GlideOptions;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.ruiwenliu.wrapper.weight.horizontal.GallerySnapHelper; import com.ruiwenliu.wrapper.weight.horizontal.GallerySnapHelper;
import com.ruiwenliu.wrapper.weight.horizontal.SpaceItemDecoration; import com.ruiwenliu.wrapper.weight.horizontal.SpaceItemDecoration;
...@@ -44,11 +53,15 @@ public class MyReleaseActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -44,11 +53,15 @@ public class MyReleaseActivity extends BaseStatusActivity<CommonPresenter> {
@BindView(R2.id.release_viewPager) @BindView(R2.id.release_viewPager)
ViewPager mViewPager; ViewPager mViewPager;
private CouponMenuAdapter menuAdapter; private CouponMenuAdapter menuAdapter;
private TabAdapter mAdapter; private TabAdapter mAdapter;
public final static int TYPE_PAT = 0; public final static int TYPE_PAT = 0;
public final static int TYPE_VIDEO = 1; public final static int TYPE_VIDEO = 1;
public final static int TYPE_ASK = 2; public final static int TYPE_ASK = 2;
private MyReleasePatFragment myReleasePatFragment = null;
private MyReleaseVideoFragment myReleaseVideoFragment = null;
private MyReleaseAskFragment myReleaseAskFragment = null;
public static Intent getIntent(Context context) { public static Intent getIntent(Context context) {
return new Intent(context, MyReleaseActivity.class); return new Intent(context, MyReleaseActivity.class);
...@@ -62,6 +75,15 @@ public class MyReleaseActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -62,6 +75,15 @@ public class MyReleaseActivity extends BaseStatusActivity<CommonPresenter> {
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("我的发布"); titleView.setTitle("我的发布");
titleView.setImageResource(R.id.iv_title_right, R.drawable.myrelease_icon_setting);
titleView.setChildClickListener(R.id.iv_title_right, new View.OnClickListener() {
@Override
public void onClick(View v) {
BaseWrapperFragment fragment = mAdapter.getCurrentFragment();
fragment.changeShowDelete();
}
});
initRecyclerView(); initRecyclerView();
initViewpager(); initViewpager();
} }
...@@ -96,6 +118,16 @@ public class MyReleaseActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -96,6 +118,16 @@ public class MyReleaseActivity extends BaseStatusActivity<CommonPresenter> {
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
menuAdapter.setSelectItem(position); menuAdapter.setSelectItem(position);
mViewPager.setCurrentItem(position); mViewPager.setCurrentItem(position);
if (position == 0) {
myReleaseVideoFragment.changeShowNormal();
myReleaseAskFragment.changeShowNormal();
} else if (position == 1) {
myReleasePatFragment.changeShowNormal();
myReleaseAskFragment.changeShowNormal();
} else if (position == 2) {
myReleasePatFragment.changeShowNormal();
myReleaseVideoFragment.changeShowNormal();
}
} }
}); });
} }
...@@ -129,10 +161,13 @@ public class MyReleaseActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -129,10 +161,13 @@ public class MyReleaseActivity extends BaseStatusActivity<CommonPresenter> {
private List<BaseFragment> getListFragment() { private List<BaseFragment> getListFragment() {
myReleasePatFragment = MyReleasePatFragment.getInstance(TYPE_PAT);
myReleaseVideoFragment = MyReleaseVideoFragment.getInstance(TYPE_VIDEO);
myReleaseAskFragment = MyReleaseAskFragment.getInstance(TYPE_ASK);
List<BaseFragment> list = new ArrayList<>(); List<BaseFragment> list = new ArrayList<>();
list.add(MyReleasePatFragment.getInstance(TYPE_PAT)); list.add(myReleasePatFragment);
list.add(MyReleaseVideoFragment.getInstance(TYPE_VIDEO)); list.add(myReleaseVideoFragment);
list.add(MyReleaseAskFragment.getInstance(TYPE_ASK)); list.add(myReleaseAskFragment);
return list; return list;
} }
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android"
<corners android:radius="5dp" /> android:shape="oval">
<solid android:color="@color/input_grap" /> <solid android:color="#ffffffff" />
</shape> </shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"> android:shape="oval">
<solid android:color="#ffffffff" /> <solid android:color="#fffdb51c" />
</shape> </shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/gray_f5f5f5" android:background="@color/gray_f5f5f5"
android:orientation="vertical"> android:orientation="vertical">
<com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout <com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/refresh" android:id="@+id/refresh"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
...@@ -23,4 +22,28 @@ ...@@ -23,4 +22,28 @@
</com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout> </com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout>
</LinearLayout> <LinearLayout
\ No newline at end of file android:id="@+id/ll_delete"
android:layout_width="match_parent"
android:layout_height="@dimen/size_40"
android:layout_gravity="bottom"
android:background="#F25B5B"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:layout_width="@dimen/size_20"
android:layout_height="@dimen/size_20"
android:src="@drawable/icon_myrelease_delete" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_5"
android:text="删除"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</FrameLayout>
\ No newline at end of file
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
...@@ -25,9 +25,30 @@ ...@@ -25,9 +25,30 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" android:layout_centerInParent="true"
android:src="@drawable/icon_fragment_video_hint"/> android:src="@drawable/icon_fragment_video_hint" />
</RelativeLayout> <RelativeLayout
android:id="@+id/rl_delete_select"
android:layout_width="@dimen/size_20"
android:layout_height="@dimen/size_20"
android:layout_gravity="left|top"
android:layout_marginLeft="@dimen/size_10"
android:layout_marginTop="@dimen/size_10"
android:background="@drawable/shape_rv_bg_delete_select"
android:visibility="gone">
<ImageView
android:id="@+id/iv_delete_select"
android:layout_width="@dimen/size_12"
android:layout_height="@dimen/size_12"
android:layout_centerInParent="true"
android:src="@drawable/shape_rv_icon_delete_select"
android:visibility="gone" />
</RelativeLayout>
</FrameLayout>
<TextView <TextView
...@@ -35,10 +56,10 @@ ...@@ -35,10 +56,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_5" android:layout_marginTop="@dimen/size_5"
android:ellipsize="end"
android:maxLines="2"
android:paddingLeft="@dimen/size_5" android:paddingLeft="@dimen/size_5"
android:paddingRight="@dimen/size_5" android:paddingRight="@dimen/size_5"
android:maxLines="2"
android:ellipsize="end"
android:text="行摄川西邂逅生命中未知的精彩" android:text="行摄川西邂逅生命中未知的精彩"
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_14" /> android:textSize="@dimen/text_14" />
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
...@@ -24,10 +24,31 @@ ...@@ -24,10 +24,31 @@
android:id="@+id/iv_isvideo" android:id="@+id/iv_isvideo"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" android:layout_gravity="center"
android:src="@drawable/icon_fragment_video_hint"/> android:src="@drawable/icon_fragment_video_hint" />
</RelativeLayout> <RelativeLayout
android:id="@+id/rl_delete_select"
android:layout_width="@dimen/size_20"
android:layout_height="@dimen/size_20"
android:layout_gravity="left|top"
android:layout_marginLeft="@dimen/size_10"
android:layout_marginTop="@dimen/size_10"
android:background="@drawable/shape_rv_bg_delete_select"
android:visibility="gone">
<ImageView
android:id="@+id/iv_delete_select"
android:layout_width="@dimen/size_12"
android:layout_height="@dimen/size_12"
android:layout_centerInParent="true"
android:src="@drawable/shape_rv_icon_delete_select"
android:visibility="gone" />
</RelativeLayout>
</FrameLayout>
<TextView <TextView
...@@ -35,10 +56,10 @@ ...@@ -35,10 +56,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_5" android:layout_marginTop="@dimen/size_5"
android:ellipsize="end"
android:maxLines="2"
android:paddingLeft="@dimen/size_5" android:paddingLeft="@dimen/size_5"
android:paddingRight="@dimen/size_5" android:paddingRight="@dimen/size_5"
android:maxLines="2"
android:ellipsize="end"
android:text="行摄川西邂逅生命中未知的精彩" android:text="行摄川西邂逅生命中未知的精彩"
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_14" /> android:textSize="@dimen/text_14" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment