This commit is contained in:
jinyuer
2021-04-08 11:29:32 +08:00
parent d6360a58d9
commit 0ee43d6300
6 changed files with 339 additions and 129 deletions

View File

@@ -42,6 +42,7 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import com.selectpicker.OptionsPopupWindow;
import com.sl.house_property.databinding.FragmentMainBinding;
import com.sl.house_property.databinding.ItemCommentBinding;
import com.sl.house_property.databinding.ItemDiscoveryBinding;
import com.sl.house_property.db.CommentBeanData;
@@ -788,12 +789,15 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
commentDialog.dismiss();
like(discoveryListEntity.getGoods_id(), position);
} else if (type == 3) {
itemIndex = -1;
mDataBinding.llComment.setVisibility(View.VISIBLE);
mDataBinding.etComment.requestFocus();
mDataBinding.etComment.setHint("评论");
MainTabActivity activity = (MainTabActivity) getActivity();
if (getActivity() instanceof MainTabActivity) {
MainTabActivity activity = (MainTabActivity) getActivity();
activity.visibilyBottom(View.GONE);
}
KeyboardUtil.showSoftInput(getContext());
activity.visibilyBottom(View.GONE);
commentPosition = position;
commentDialog.dismiss();
mDataBinding.etComment.setText("");
@@ -805,6 +809,23 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
mDataBinding.scrollViewExtend.smoothScrollBy(0, mBottomY - y);
}
}, 300);
// mDataBinding.llComment.setVisibility(View.VISIBLE);
// mDataBinding.etComment.requestFocus();
// mDataBinding.etComment.setHint("评论");
// MainTabActivity activity = (MainTabActivity) getActivity();
// KeyboardUtil.showSoftInput(getContext());
// activity.visibilyBottom(View.GONE);
// commentPosition = position;
// commentDialog.dismiss();
// mDataBinding.etComment.setText("");
// homeGridAdapterItemBinding.ivComment.postDelayed(new Runnable() {
// @Override
// public void run() {
// int y = getCoordinateY(mDataBinding.llComment) - 20;
// //评论时滑动到对应item底部和输入框顶部对齐
// mDataBinding.scrollViewExtend.smoothScrollBy(0, mBottomY - y);
// }
// }, 300);
} else if (type == 4) {
@@ -857,21 +878,52 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
final ArrayList<DiscoveryListEntity.Dis_content> dis_content = discoveryListEntity.getDis_content();
baseRecycleViewAdapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
@Override
public void onBindViewHolder(Object b, int position) {
public void onBindViewHolder(Object b, final int itemPosition) {
ItemCommentBinding itemCommentBinding = (ItemCommentBinding) b;
itemCommentBinding.tvName.setText(dis_content.get(position).getNickname() + ": ");
itemCommentBinding.tvInfo.setText(dis_content.get(position).getContents());
if (dis_content.get(position).getReply().isEmpty()) {
if (dis_content.get(itemPosition).getReply().isEmpty()) {
itemCommentBinding.llHf.setVisibility(View.GONE);
itemCommentBinding.ll.setVisibility(View.VISIBLE);
itemCommentBinding.tvName.setText(dis_content.get(itemPosition).getNickname() + ": ");
itemCommentBinding.tvInfo.setText(dis_content.get(itemPosition).getContents());
} else {
itemCommentBinding.ll.setVisibility(View.GONE);
itemCommentBinding.llHf.setVisibility(View.VISIBLE);
itemCommentBinding.tvName2.setText(discoveryListEntity.getNickname());
itemCommentBinding.tvName2.setText(dis_content.get(itemPosition).getNickname());
itemCommentBinding.tvInfo2.setText("回复");
itemCommentBinding.tvName3.setText(dis_content.get(position).getNickname() + ":");
itemCommentBinding.tvInfo3.setText(dis_content.get(position).getReply());
itemCommentBinding.tvName3.setText(dis_content.get(itemPosition).getReply() + ":");
itemCommentBinding.tvInfo3.setText(dis_content.get(itemPosition).getContents());
}
itemCommentBinding.llItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final int mBottomY = getCoordinateY(homeGridAdapterItemBinding.ivComment) + homeGridAdapterItemBinding.ivComment.getHeight();
itemIndex =itemPosition;
mDataBinding.llComment.setVisibility(View.VISIBLE);
mDataBinding.etComment.requestFocus();
mDataBinding.etComment.setHint("回复 " + dis_content.get(itemPosition).getNickname());
if (getActivity() instanceof MainTabActivity) {
MainTabActivity activity = (MainTabActivity) getActivity();
activity.visibilyBottom(View.GONE);
}
KeyboardUtil.showSoftInput(getContext());
commentPosition = position;
// commentDialog.dismiss();
mDataBinding.etComment.setText("");
homeGridAdapterItemBinding.ivComment.postDelayed(new Runnable() {
@Override
public void run() {
int y = getCoordinateY(mDataBinding.llComment) - 20;
//评论时滑动到对应item底部和输入框顶部对齐
mDataBinding.scrollViewExtend.smoothScrollBy(0, mBottomY - y);
}
}, 300);
}
});
}
});
baseRecycleViewAdapter.setData(dis_content);
@@ -943,12 +995,13 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
mDataBinding.llComment.setVisibility(View.GONE);
activity.visibilyBottom(View.VISIBLE);
Log.e("xxx", discoveryListEntities.get(commentPosition).getGoods_id());
comment(discoveryListEntities.get(commentPosition).getGoods_id(), commentPosition, "", mDataBinding.etComment.getText().toString());
comment(discoveryListEntities.get(commentPosition).getGoods_id(), commentPosition, itemIndex, mDataBinding.etComment.getText().toString());
}
}
});
}
private int commentPosition = -1;
private int itemIndex = -1;
@Override
public boolean onTouch(MotionEvent ev) {
switch (ev.getAction()) {
@@ -1042,7 +1095,7 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
baseActivity.addSubscription(subscription);
}
private void comment(String goodsId, final int position, String reply_id, final String content) {
private void comment(String goodsId, final int position, final int itemIndex, final String content) {
final RegisterUser user =
Config.getInstance(getContext()).getUser();
Map<String, String> map = new HashMap<>();
@@ -1054,8 +1107,13 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
map.put("app", "Goods");
map.put("class", "DisGoods");
map.put("goods_id", goodsId);
if (!TextUtils.isEmpty(reply_id)) {
map.put("reply_id", reply_id);
if (itemIndex!=-1){
DiscoveryListEntity discoveryListEntity = discoveryListEntities.get(position);
ArrayList<DiscoveryListEntity.Dis_content> dis_content1 = discoveryListEntity.getDis_content();
String from_id = dis_content1.get(itemIndex).getFrom_id();
if (!TextUtils.isEmpty(from_id)) {
map.put("reply_id", from_id);
}
}
map.put("contents", content);
@@ -1076,18 +1134,21 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
baseActivity.setToast(1, resultcode.msg);
}
if (resultcode.status == 0) {
String nickname = user.getNickname();
BaseRecycleViewAdapter adapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
DiscoveryListEntity.Dis_content dis_content = new DiscoveryListEntity.Dis_content();
dis_content.setContents(content);
dis_content.setNickname(nickname);
dis_content.setReply("");
DiscoveryListEntity discoveryListEntity = discoveryListEntities.get(position);
ArrayList<DiscoveryListEntity.Dis_content> dis_content1 = discoveryListEntity.getDis_content();
if (itemIndex!=-1){
dis_content.setReply(dis_content1.get(itemIndex).getNickname());
}
dis_content1.add(dis_content);
discoveryListEntity.setDis_content(dis_content1);
adapter.upDateOne(position,discoveryListEntity);
adapter.upDateOne(position, discoveryListEntity);
// BaseRecycleViewAdapter adapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
// if (discoveryListEntities.get(position).getDis_content().isEmpty()) {
// DiscoveryListEntity.Dis_content dis_content = new DiscoveryListEntity.Dis_content();