From 7d6e1d8eee1a06422932aae607a31b9fe4bbf4c6 Mon Sep 17 00:00:00 2001
From: jinyuer <454386664@qq.com>
Date: Mon, 7 Sep 2020 10:05:06 +0800
Subject: [PATCH 1/5] 1
---
app/build.gradle | 3 ++-
app/src/main/AndroidManifest.xml | 2 +-
app/src/main/java/com/sl/house_property/MyApplication.java | 2 ++
.../com/sl/house_property/discovery/DiscoveryFragment.java | 6 +++---
4 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index beacd9a..e0e20f5 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -43,7 +43,7 @@ android {
ndk {
//选择要添加的对应cpu类型的.so库。
- abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a', "x86"
+ abiFilters 'armeabi-v7a'
}
}
@@ -140,6 +140,7 @@ android {
implementation 'liji.library.dev:citypickerview:5.2.2'
implementation 'com.zhihu.android:matisse:0.5.2-beta2'
+ implementation 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.2.0
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 76bfb42..a6ed6c4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,7 +66,7 @@
im
mDataBinding.tvSendComment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Log.e("click", "comment");
+
MainTabActivity activity = (MainTabActivity) getActivity();
CommonUtils.hideSoftInput(getContext(), mDataBinding.etComment);
mDataBinding.llComment.setVisibility(View.GONE);
@@ -492,7 +492,7 @@ public class DiscoveryFragment extends BaseFragment im
if (discoveryListEntity.getPic().size() > 0) {
- Log.e("pic", discoveryListEntity.getPic().get(0));
+ // Log.e("pic", discoveryListEntity.getPic().get(0));
for (int i = 0; i < discoveryListEntity.getPic().size(); i++) {
if (discoveryListEntity.getPic().get(i).endsWith(".mp4") || discoveryListEntity.getPic().get(i).endsWith(".avi")) {
ImageInfo imageInfo = new ImageInfo();
@@ -579,7 +579,7 @@ public class DiscoveryFragment extends BaseFragment im
BaseRecycleViewAdapter baseRecycleViewAdapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
baseRecycleViewAdapter.setData(discoveryListEntities);
- Log.e("sizi", discoveryListEntities.size() + "");
+ // Log.e("sizi", discoveryListEntities.size() + "");
// int count = jsonObject.getInt("count");
if (o.isEmpty()) {
mDataBinding.dw.finishLoadMoreWithNoMoreData();
From fdec1db4f4529d0c7eab864f1395415de72bd728 Mon Sep 17 00:00:00 2001
From: jinyuer <454386664@qq.com>
Date: Tue, 15 Sep 2020 10:18:52 +0800
Subject: [PATCH 2/5] 1
---
.../com/sl/house_property/Main2Fragment.java | 4 +-
.../com/sl/house_property/Main4Fragment.java | 18 +
.../discovery/HistoryRecordActivity.java | 133 ++++---
.../discovery/HistoryRecordFragment.java | 325 ++++++++++++++++++
.../house_property/order/OrderActivity.java | 2 +-
.../res/layout/fragment_history_record.xml | 80 +++++
app/src/main/res/layout/fragment_main4.xml | 21 ++
.../main/res/layout/layout_history_record.xml | 54 +--
8 files changed, 548 insertions(+), 89 deletions(-)
create mode 100644 app/src/main/java/com/sl/house_property/discovery/HistoryRecordFragment.java
create mode 100644 app/src/main/res/layout/fragment_history_record.xml
diff --git a/app/src/main/java/com/sl/house_property/Main2Fragment.java b/app/src/main/java/com/sl/house_property/Main2Fragment.java
index 4058721..180fe3e 100644
--- a/app/src/main/java/com/sl/house_property/Main2Fragment.java
+++ b/app/src/main/java/com/sl/house_property/Main2Fragment.java
@@ -90,8 +90,8 @@ public class Main2Fragment extends BaseFragment implements
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
- throw new RuntimeException(context.toString()
- + " must implement OnFragmentInteractionListener");
+// throw new RuntimeException(context.toString()
+// + " must implement OnFragmentInteractionListener");
}
}
diff --git a/app/src/main/java/com/sl/house_property/Main4Fragment.java b/app/src/main/java/com/sl/house_property/Main4Fragment.java
index 4698579..7be61b0 100644
--- a/app/src/main/java/com/sl/house_property/Main4Fragment.java
+++ b/app/src/main/java/com/sl/house_property/Main4Fragment.java
@@ -218,6 +218,15 @@ public class Main4Fragment extends BaseFragment {
startActivityForResult(intent, 0);
}
});
+ mDataBinding.tvOrder7.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(getActivity(), OrderActivity.class);
+ intent.putExtra("type", 1);
+ intent.putExtra("orderType", 4);
+ startActivityForResult(intent, 0);
+ }
+ });
mDataBinding.tvOrder4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -245,6 +254,15 @@ public class Main4Fragment extends BaseFragment {
startActivityForResult(intent, 0);
}
});
+ mDataBinding.tvOrder8.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(getActivity(), OrderActivity.class);
+ intent.putExtra("type", 2);
+ intent.putExtra("orderType", 4);
+ startActivityForResult(intent, 0);
+ }
+ });
}
// private void initMyReycyView() {
diff --git a/app/src/main/java/com/sl/house_property/discovery/HistoryRecordActivity.java b/app/src/main/java/com/sl/house_property/discovery/HistoryRecordActivity.java
index dc72851..7fe5855 100644
--- a/app/src/main/java/com/sl/house_property/discovery/HistoryRecordActivity.java
+++ b/app/src/main/java/com/sl/house_property/discovery/HistoryRecordActivity.java
@@ -4,9 +4,12 @@ import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
+import android.net.Uri;
import android.os.Bundle;
-import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
import android.support.v7.widget.LinearLayoutManager;
import android.util.Log;
import android.view.View;
@@ -19,9 +22,8 @@ import com.google.gson.reflect.TypeToken;
import com.gyf.immersionbar.ImmersionBar;
import com.lzy.ninegrid.ImageInfo;
import com.lzy.ninegrid.preview.NineGridViewClickAdapter;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import com.sl.house_property.BaseActivity;
+import com.sl.house_property.MainFragment;
import com.sl.house_property.R;
import com.sl.house_property.databinding.ItemCommentBinding;
import com.sl.house_property.databinding.ItemDiscoveryBinding;
@@ -55,6 +57,8 @@ public class HistoryRecordActivity extends BaseActivity discoveryListEntities = new ArrayList<>();
+ private ArrayList fragments;
+ private String[] strings;
@Override
protected int getLayoutResId() {
@@ -73,60 +77,93 @@ public class HistoryRecordActivity extends BaseActivity();
+ fragments.add(HistoryRecordFragment.newInstance(1, userId));
+ fragments.add(HistoryRecordFragment.newInstance(2, userId));
+ MyViewPagerAdapter myViewPagerAdapter = new MyViewPagerAdapter(getSupportFragmentManager());
+ mDataBinding.fl.setAdapter(myViewPagerAdapter);
+ mDataBinding.tb.setupWithViewPager(mDataBinding.fl);
+// mDataBinding.tv1.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+//
+// if (type == 2) {
+// type = 1;
+// page = 1;
+// getData();
+// mDataBinding.tv1.setTextColor(getResources().getColor(R.color.white));
+// mDataBinding.tv1.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
+// mDataBinding.tv2.setTextColor(getResources().getColor(R.color.black));
+// mDataBinding.tv2.setBackgroundColor(getResources().getColor(R.color.white));
+// }
+// }
+// });
+// mDataBinding.tv2.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// if (type == 1) {
+// type = 2;
+// page = 1;
+// getData();
+// mDataBinding.tv2.setTextColor(getResources().getColor(R.color.white));
+// mDataBinding.tv2.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
+// mDataBinding.tv1.setTextColor(getResources().getColor(R.color.black));
+// mDataBinding.tv1.setBackgroundColor(getResources().getColor(R.color.white));
+// }
+// }
+// });
+// mDataBinding.dw.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
+// @Override
+// public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+// getData();
+// }
+//
+// @Override
+// public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+// page = 1;
+// getData();
+// }
+// });
+// intRecycleView();
+// mDataBinding.dw.autoRefresh();
}
+
+ class MyViewPagerAdapter extends FragmentPagerAdapter {
+ public MyViewPagerAdapter(FragmentManager fm) {
+ super(fm);
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ return fragments.get(position);
+ }
+
+
+ @Override
+ public int getCount() {
+ return fragments.size();
+ }
+
+ @Override
+ public CharSequence getPageTitle(int position) {
+ return strings[position];
+
+ }
+ }
+
private void intRecycleView() {
diff --git a/app/src/main/java/com/sl/house_property/discovery/HistoryRecordFragment.java b/app/src/main/java/com/sl/house_property/discovery/HistoryRecordFragment.java
new file mode 100644
index 0000000..9a1bdbf
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/discovery/HistoryRecordFragment.java
@@ -0,0 +1,325 @@
+package com.sl.house_property.discovery;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.LinearLayoutManager;
+import android.util.Log;
+import android.view.View;
+import android.widget.Toast;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.google.gson.Gson;
+import com.google.gson.internal.LinkedTreeMap;
+import com.google.gson.reflect.TypeToken;
+import com.lzy.ninegrid.ImageInfo;
+import com.lzy.ninegrid.preview.NineGridViewClickAdapter;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
+import com.sl.house_property.BaseFragment;
+import com.sl.house_property.Main2Fragment;
+import com.sl.house_property.R;
+import com.sl.house_property.databinding.FragmentHistoryRecordBinding;
+import com.sl.house_property.databinding.ItemCommentBinding;
+import com.sl.house_property.databinding.ItemDiscoveryBinding;
+import com.squareup.picasso.Picasso;
+import com.squareup.picasso.Target;
+
+import org.json.JSONObject;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import adapter.BaseRecycleViewAdapter;
+import entity.DiscoveryListEntity;
+import http.ApiConfig;
+import my_loader.Loader;
+import my_loader.Resultcode;
+import my_view.tao_bao_refresh.FullyGridLayoutManager;
+import rx.Subscription;
+import rx.functions.Action1;
+import tools.PicassoRoundTransform;
+import utils.DateUtils;
+import utils.Md5;
+
+public class HistoryRecordFragment extends BaseFragment {
+ private Context context;
+ private int type = 2;
+ private int page = 1;
+ private String userId;
+ private Loader loader;
+ private ArrayList discoveryListEntities = new ArrayList<>();
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.fragment_history_record;
+ }
+
+ public static HistoryRecordFragment newInstance(int param1, String param2) {
+ HistoryRecordFragment fragment = new HistoryRecordFragment();
+ Bundle args = new Bundle();
+ args.putInt("param1", param1);
+ args.putString("param2", param2);
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ type = getArguments().getInt("param1");
+ userId = getArguments().getString("param2");
+ }
+
+ @Override
+ protected void loadData() {
+
+
+ context = getContext();
+ loader = new Loader();
+ mDataBinding.dw.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ getData();
+ }
+
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ page = 1;
+ getData();
+ }
+ });
+ intRecycleView();
+ mDataBinding.dw.autoRefresh();
+ }
+
+
+ private void intRecycleView() {
+
+
+ LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
+ mDataBinding.recyView.setNestedScrollingEnabled(false);//禁止rcyc嵌套滑动
+ mDataBinding.recyView.setLayoutManager(linearLayoutManager);
+ BaseRecycleViewAdapter baseRecycleViewAdapter = new BaseRecycleViewAdapter(context, R.layout.item_discovery);
+ baseRecycleViewAdapter.setHasStableIds(true);
+
+ discoveryListEntities = new ArrayList<>();
+ baseRecycleViewAdapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+ @Override
+ public void onBindViewHolder(Object b, final int position) {
+ if (!(position >= discoveryListEntities.size())) {
+ final ItemDiscoveryBinding homeGridAdapterItemBinding = (ItemDiscoveryBinding) b;
+ // homeGridAdapterItemBinding.setMyentity(discoveryListEntities.get(position));
+ homeGridAdapterItemBinding.ivComment.setVisibility(View.GONE);
+ final DiscoveryListEntity discoveryListEntity = discoveryListEntities.get(position);
+ homeGridAdapterItemBinding.tvNikeName.setText(discoveryListEntity.getNickname());
+ homeGridAdapterItemBinding.tvContent.setText(discoveryListEntity.getGoods_detail());
+
+
+ if (discoveryListEntity.getLike().isEmpty()) {
+ homeGridAdapterItemBinding.tvLike.setVisibility(View.GONE);
+ } else {
+ homeGridAdapterItemBinding.tvLike.setVisibility(View.VISIBLE);
+ StringBuilder likeString = new StringBuilder();
+ for (int i = 0; i < discoveryListEntity.getLike().size(); i++) {
+ if (i == 0) {
+ likeString.append("❤");
+
+ } else {
+ likeString.append(",");
+ }
+ likeString.append(discoveryListEntity.getLike().get(i).getNickname());
+ }
+ homeGridAdapterItemBinding.tvLike.setText(likeString.toString());
+
+ homeGridAdapterItemBinding.tvTime.setText(DateUtils.getDate(discoveryListEntity.getCtime()));
+
+ }
+ if (discoveryListEntity.getDis_content().isEmpty()) {
+ homeGridAdapterItemBinding.rvComment.setVisibility(View.GONE);
+ } else {
+ homeGridAdapterItemBinding.rvComment.setVisibility(View.VISIBLE);
+ FullyGridLayoutManager mgr = new FullyGridLayoutManager(context, 1);
+ mgr.setOrientation(FullyGridLayoutManager.VERTICAL);
+ mgr.setSmoothScrollbarEnabled(true);
+ homeGridAdapterItemBinding.rvComment.setLayoutManager(mgr);
+ BaseRecycleViewAdapter baseRecycleViewAdapter = new BaseRecycleViewAdapter(context, R.layout.item_comment);
+ homeGridAdapterItemBinding.rvComment.setAdapter(baseRecycleViewAdapter);
+ final ArrayList dis_content = discoveryListEntity.getDis_content();
+ baseRecycleViewAdapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+ @Override
+ public void onBindViewHolder(Object b, int position) {
+ 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()) {
+ itemCommentBinding.llHf.setVisibility(View.GONE);
+
+ } else {
+ itemCommentBinding.llHf.setVisibility(View.VISIBLE);
+ itemCommentBinding.tvName2.setText(discoveryListEntity.getNickname());
+ itemCommentBinding.tvInfo2.setText("回复");
+ itemCommentBinding.tvName3.setText(dis_content.get(position).getNickname() + ":");
+ itemCommentBinding.tvInfo3.setText(dis_content.get(position).getReply());
+
+ }
+ }
+ });
+ baseRecycleViewAdapter.setData(dis_content);
+
+ }
+
+
+ RequestOptions requestOptions = new RequestOptions();
+ requestOptions.placeholder(R.mipmap.icon_default_rectangle);
+ requestOptions.error(R.mipmap.icon_default_rectangle);
+
+ Glide.with(context).load(discoveryListEntity.getAvatar())
+ .apply(requestOptions)
+ .into(homeGridAdapterItemBinding.imageHead);
+ ArrayList imageInfos = new ArrayList<>();
+
+ if (discoveryListEntity.getPic().size() > 0) {
+
+ // Log.e("pic", discoveryListEntity.getPic().get(0));
+ for (int i = 0; i < discoveryListEntity.getPic().size(); i++) {
+ if (discoveryListEntity.getPic().get(i).endsWith(".mp4") || discoveryListEntity.getPic().get(i).endsWith(".avi")) {
+ ImageInfo imageInfo = new ImageInfo();
+ imageInfo.setType(2);
+ imageInfo.setBigImageUrl(discoveryListEntity.getPic().get(i));
+ imageInfo.setThumbnailUrl(discoveryListEntity.getPic().get(i));
+ imageInfos.add(imageInfo);
+ } else {
+ ImageInfo imageInfo = new ImageInfo();
+ imageInfo.setType(1);
+ imageInfo.setBigImageUrl(discoveryListEntity.getPic().get(i));
+ imageInfo.setThumbnailUrl(discoveryListEntity.getPic().get(i));
+ imageInfos.add(imageInfo);
+ }
+
+ }
+
+ } else {
+ ImageInfo imageInfo = new ImageInfo();
+ imageInfo.setType(1);
+ imageInfo.setBigImageUrl(discoveryListEntity.getThumb());
+ imageInfo.setThumbnailUrl(discoveryListEntity.getThumb());
+ imageInfos.add(imageInfo);
+ }
+ homeGridAdapterItemBinding.nineGrid.setAdapter(new NineGridViewClickAdapter(context, imageInfos));
+ }
+ }
+ });
+ mDataBinding.recyView.setAdapter(baseRecycleViewAdapter);
+
+ baseRecycleViewAdapter.setData(discoveryListEntities);
+ }
+
+ private void getData() {
+
+ Map map = new HashMap<>();
+ map.put("userid", userId);
+ map.put("type", type + "");
+ map.put("app", "Goods");
+ map.put("class", "MyGoodsLists");
+ map.put("page", page + "");
+ map.put("sign", Md5.md5("Goods" + "MyGoodsLists" + Md5.secret));
+ Subscription subscribe = loader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ mDataBinding.dw.finishRefresh();
+ mDataBinding.dw.finishLoadMore();
+ progressDialog.dismiss();
+ if (!(resultcode.status == 0)) {
+ Toast.makeText(context, resultcode.msg, Toast.LENGTH_SHORT).show();
+ }
+ if (resultcode.status == 0) {
+ // intRecycleView();
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+ try {
+ JSONObject jsonObject = new JSONObject(s);
+ org.json.JSONArray array = jsonObject.getJSONArray("info");
+ Type type = new TypeToken>() {
+ }.getType();
+ if (page == 1) {
+ String fengmian = jsonObject.getString("fengmian");
+ String avatar = jsonObject.getString("avatar");
+ Picasso.with(context).load(fengmian)
+ .placeholder(R.mipmap.icon_default_rectangle)
+ .into(target);
+ Picasso.with(context).load(avatar)
+ .placeholder(R.mipmap.icon_default_rectangle)
+ .transform(new PicassoRoundTransform())
+ .into(mDataBinding.head);
+ ArrayList o = new Gson().fromJson(array.toString(), type);
+ discoveryListEntities.clear();
+ discoveryListEntities.addAll(o);
+ BaseRecycleViewAdapter baseRecycleViewAdapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
+ baseRecycleViewAdapter.setData(discoveryListEntities);
+ page++;
+ } else {
+ ArrayList o = new Gson().fromJson(array.toString(), type);
+ discoveryListEntities.addAll(o);
+
+ BaseRecycleViewAdapter baseRecycleViewAdapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
+ baseRecycleViewAdapter.setData(discoveryListEntities);
+ Log.e("sizi", discoveryListEntities.size() + "");
+ // int count = jsonObject.getInt("count");
+ if (o.isEmpty()) {
+ mDataBinding.dw.finishLoadMoreWithNoMoreData();
+ } else {
+
+ page++;
+
+ }
+ }
+
+
+ } catch (Exception e) {
+ e.fillInStackTrace();
+ }
+ }
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ mDataBinding.dw.finishRefresh();
+ mDataBinding.dw.finishLoadMore();
+ Toast.makeText(context, getString(R.string.getdatafailure), Toast.LENGTH_SHORT).show();
+ throwable.printStackTrace();
+ }
+ });
+
+ }
+
+ private Target target = new Target() {
+ @Override
+ public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
+ Drawable drawable = new BitmapDrawable(bitmap);
+ mDataBinding.v.setBackground(drawable);
+
+
+ }
+
+ @Override
+ public void onBitmapFailed(Drawable errorDrawable) {
+ }
+
+ @Override
+ public void onPrepareLoad(Drawable placeHolderDrawable) {
+ }
+ };
+
+
+
+}
diff --git a/app/src/main/java/com/sl/house_property/order/OrderActivity.java b/app/src/main/java/com/sl/house_property/order/OrderActivity.java
index c9f67bd..ea294ef 100644
--- a/app/src/main/java/com/sl/house_property/order/OrderActivity.java
+++ b/app/src/main/java/com/sl/house_property/order/OrderActivity.java
@@ -103,7 +103,7 @@ public class OrderActivity extends BaseActivity {
} else if (orderType == 3) {
mDataBinding.tvTitle.setText("待收货");
} else if (orderType == 4) {
- mDataBinding.tvTitle.setText("待评价");
+ mDataBinding.tvTitle.setText("已完成");
}
}
diff --git a/app/src/main/res/layout/fragment_history_record.xml b/app/src/main/res/layout/fragment_history_record.xml
new file mode 100644
index 0000000..6b5b54b
--- /dev/null
+++ b/app/src/main/res/layout/fragment_history_record.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_main4.xml b/app/src/main/res/layout/fragment_main4.xml
index 89233f5..eb9dd6c 100644
--- a/app/src/main/res/layout/fragment_main4.xml
+++ b/app/src/main/res/layout/fragment_main4.xml
@@ -354,6 +354,17 @@
android:drawablePadding="8dp"
android:gravity="center_horizontal"
android:text="待收货" />
+
+
@@ -422,6 +433,16 @@
android:drawablePadding="8dp"
android:gravity="center_horizontal"
android:text="待收货" />
+
diff --git a/app/src/main/res/layout/layout_history_record.xml b/app/src/main/res/layout/layout_history_record.xml
index 17e6018..8f981c5 100644
--- a/app/src/main/res/layout/layout_history_record.xml
+++ b/app/src/main/res/layout/layout_history_record.xml
@@ -7,7 +7,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
-
+ android:layout_centerHorizontal="true"
+ android:gravity="center_horizontal" />
-
+
-
+ android:layout_height="match_parent"
+ android:background="@color/white">
-
-
-
-
+
Date: Thu, 17 Sep 2020 17:21:32 +0800
Subject: [PATCH 3/5] 1
---
app/src/main/AndroidManifest.xml | 1 +
.../sl/house_property/BindHouseDialog.java | 361 ++++++++++++++++++
.../EntranceguardControl2Activity.java | 24 +-
.../com/sl/house_property/MainFragment.java | 152 +++++++-
.../sl/house_property/RegisterActivity.java | 101 ++---
.../discovery/ShareCodeActivity.java | 319 ++++++++++++++++
.../discovery/ShareCodeDialog.java | 67 ++++
app/src/main/java/utils/MyPhoneValue.java | 3 +
app/src/main/java/utils/QRCodeUtil.java | 9 +-
.../activity_entranceguard_control2.xml | 194 ++++++----
app/src/main/res/layout/dialog_bind_house.xml | 244 ++++++++++++
app/src/main/res/layout/dialog_share_cede.xml | 89 +++++
app/src/main/res/layout/fragment_main.xml | 10 +-
13 files changed, 1436 insertions(+), 138 deletions(-)
create mode 100644 app/src/main/java/com/sl/house_property/BindHouseDialog.java
create mode 100644 app/src/main/java/com/sl/house_property/discovery/ShareCodeActivity.java
create mode 100644 app/src/main/java/com/sl/house_property/discovery/ShareCodeDialog.java
create mode 100644 app/src/main/res/layout/dialog_bind_house.xml
create mode 100644 app/src/main/res/layout/dialog_share_cede.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a6ed6c4..91ac3d3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -298,6 +298,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/sl/house_property/BindHouseDialog.java b/app/src/main/java/com/sl/house_property/BindHouseDialog.java
new file mode 100644
index 0000000..1d88e65
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/BindHouseDialog.java
@@ -0,0 +1,361 @@
+package com.sl.house_property;
+
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.text.TextUtils;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.google.gson.Gson;
+import com.google.gson.internal.LinkedTreeMap;
+import com.google.gson.reflect.TypeToken;
+import com.lxj.xpopup.core.CenterPopupView;
+import com.selectpicker.OptionsPopupWindow;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import entity.MyHomequEntity;
+import http.ApiConfig;
+import my_loader.Loader;
+import my_loader.Resultcode;
+import rx.functions.Action1;
+import utils.Md5;
+
+public class BindHouseDialog extends CenterPopupView {
+
+ private TextView tvQu;
+ private TextView tvLou;
+ private TextView tvDan;
+ private TextView tvFang;
+ private EditText etName;
+ private EditText etCardNumber;
+ private String userId = "";
+ Loader mGankLoader = new Loader();
+ public ProgressDialog progressDialog;
+ private MyHomequEntity mQu = null;
+ private MyHomequEntity mLou = null;
+ private MyHomequEntity mDan = null;
+ private MyHomequEntity mFang = null;
+ private OnBindHouseListener listener;
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public BindHouseDialog(@NonNull Context context) {
+ super(context);
+ }
+
+ @Override
+ protected int getImplLayoutId() {
+ return R.layout.dialog_bind_house;
+ }
+
+ @Override
+ protected void onCreate() {
+ super.onCreate();
+ progressDialog = new ProgressDialog(getContext());
+ tvQu = findViewById(R.id.tv_qu);
+ tvLou = findViewById(R.id.lou);
+ tvDan = findViewById(R.id.dan);
+ tvFang = findViewById(R.id.fang);
+ etName = findViewById(R.id.et_name);
+ etCardNumber = findViewById(R.id.et_cardNumber);
+ findViewById(R.id.ll_qu).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ Map map = new HashMap<>();
+ map.put("userid", userId);
+ map.put("app", "Trend");
+ map.put("class", "GetHomeByPid");
+ //map.put("home_id", "GetHomeByPid");
+ map.put("sign", Md5.md5("Trend" + "GetHomeByPid" + Md5.secret));
+ getGankList(ApiConfig.BASE_URL, map, 1);
+ }
+ });
+ findViewById(R.id.ll_lou).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (mQu == null) {
+ Toast.makeText(getContext(), "请选择小区", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ Map map = new HashMap<>();
+ map.put("userid", userId);
+ map.put("app", "Trend");
+ map.put("class", "GetHomeByPid");
+ map.put("home_id", mQu.getHome_id());
+ //map.put("home_id", "GetHomeByPid");
+ map.put("sign", Md5.md5("Trend" + "GetHomeByPid" + Md5.secret));
+ getGankList(ApiConfig.BASE_URL, map, 2);
+
+
+ }
+ });
+ findViewById(R.id.ll_dan).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (mQu == null) {
+ Toast.makeText(getContext(), "请选择小区", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ if (mLou == null) {
+ Toast.makeText(getContext(), "请选择楼号", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ Map map = new HashMap<>();
+ map.put("userid", userId);
+ map.put("app", "Trend");
+ map.put("class", "GetHomeByPid");
+ map.put("home_id", mLou.getHome_id());
+ //map.put("home_id", "GetHomeByPid");
+ map.put("sign", Md5.md5("Trend" + "GetHomeByPid" + Md5.secret));
+ getGankList(ApiConfig.BASE_URL, map, 3);
+ }
+ });
+ findViewById(R.id.ll_fang).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (mQu == null) {
+ Toast.makeText(getContext(), "请选择小区", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ if (mLou == null) {
+ Toast.makeText(getContext(), "请选择楼号", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ if (mDan == null) {
+ Toast.makeText(getContext(), "请选择单元", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ Map map = new HashMap<>();
+ map.put("userid", userId);
+ map.put("app", "Trend");
+ map.put("class", "GetHomeByPid");
+ map.put("home_id", mDan.getHome_id());
+ //map.put("home_id", "GetHomeByPid");
+ map.put("sign", Md5.md5("Trend" + "GetHomeByPid" + Md5.secret));
+ getGankList(ApiConfig.BASE_URL, map, 4);
+ }
+ });
+ findViewById(R.id.tv_submit).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (mQu == null) {
+ Toast.makeText(getContext(), "请选择小区", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ if (mLou == null) {
+ Toast.makeText(getContext(), "请选择楼号", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ if (mDan == null) {
+ Toast.makeText(getContext(), "请选择单元", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ if (mFang == null) {
+ Toast.makeText(getContext(), "请选择单元", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ String name = etName.getText().toString().trim();
+ if (TextUtils.isEmpty(name)) {
+ Toast.makeText(getContext(), "请输入户主姓名", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ String cardNumber = etCardNumber.getText().toString().trim();
+ if (TextUtils.isEmpty(cardNumber)) {
+ Toast.makeText(getContext(), "请输入身份证号", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ Map map = new HashMap<>();
+ map.put("userid", userId);
+ map.put("app", "Cas");
+ map.put("class", "AddMyHouse");
+ map.put("home_id", mFang.getHome_id());
+ map.put("relname", name);
+ map.put("idcard", cardNumber);
+ //map.put("home_id", "GetHomeByPid");
+ map.put("sign", Md5.md5("Cas" + "AddMyHouse" + Md5.secret));
+ getGankList(ApiConfig.BASE_URL, map, 5);
+ }
+ });
+ findViewById(R.id.tv_cancel).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ dismiss();
+ }
+ });
+
+ }
+
+ private void getGankList(String myurl, Map map, final int requstecode) {
+ mGankLoader.getMovie(myurl, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+
+ if (!(resultcode.status == 0)) {
+ Toast.makeText(getContext(), resultcode.msg, Toast.LENGTH_SHORT).show();
+ }
+ if (resultcode.status == 0) {
+ if (requstecode == 1) {
+ //选择区
+ Gson gs = new Gson();
+ ArrayList adta = (ArrayList) resultcode.data;
+ String s = gs.toJson(adta);
+ //final ArrayList list = null;
+ Type type = new TypeToken>() {
+ }.getType();
+ final ArrayList list = new Gson().fromJson(s, type);
+ final ArrayList strings = new ArrayList<>();
+
+
+ for (int i = 0; i < list.size(); i++) {
+ strings.add(list.get(i).getHome_name());
+ }
+ OptionsPopupWindow alarmOptionPop = new OptionsPopupWindow(getContext());
+ alarmOptionPop.setPicker(strings);
+
+ alarmOptionPop.setOnoptionsSelectListener(new OptionsPopupWindow.OnOptionsSelectListener() {
+ @Override
+ public void onOptionsSelect(int position, int option2, int options3) {
+ mQu = list.get(position);
+ tvQu.setText(mQu.getHome_name());
+ mLou = null;
+ tvLou.setText("请选择楼号");
+ mDan = null;
+ tvDan.setText("请选择单元");
+ mFang = null;
+ tvFang.setText("请选择房号");
+ }
+ });
+
+ alarmOptionPop.showAtLocation(getRootView(), Gravity.BOTTOM, 0, 0);
+
+ } else if (requstecode == 2) {
+ //选择楼
+ Gson gs = new Gson();
+ ArrayList adta = (ArrayList) resultcode.data;
+ String s = gs.toJson(adta);
+ //final ArrayList list = null;
+ Type type = new TypeToken>() {
+ }.getType();
+ final ArrayList list = new Gson().fromJson(s, type);
+ final ArrayList strings = new ArrayList<>();
+
+
+ for (int i = 0; i < list.size(); i++) {
+ strings.add(list.get(i).getHome_name());
+ }
+ OptionsPopupWindow alarmOptionPop = new OptionsPopupWindow(getContext());
+ alarmOptionPop.setPicker(strings);
+
+ alarmOptionPop.setOnoptionsSelectListener(new OptionsPopupWindow.OnOptionsSelectListener() {
+ @Override
+ public void onOptionsSelect(int position, int option2, int options3) {
+ mLou = list.get(position);
+ tvLou.setText(mLou.getHome_name());
+
+ mDan = null;
+ tvDan.setText("请选择单元");
+ mFang = null;
+ tvFang.setText("请选择房号");
+ }
+ });
+
+ alarmOptionPop.showAtLocation(getRootView(), Gravity.BOTTOM, 0, 0);
+ } else if (requstecode == 3) {
+ //选择单元
+ Gson gs = new Gson();
+ ArrayList adta = (ArrayList) resultcode.data;
+ String s = gs.toJson(adta);
+ //final ArrayList list = null;
+ Type type = new TypeToken>() {
+ }.getType();
+ final ArrayList list = new Gson().fromJson(s, type);
+ final ArrayList strings = new ArrayList<>();
+
+
+ for (int i = 0; i < list.size(); i++) {
+ strings.add(list.get(i).getHome_name());
+ }
+ OptionsPopupWindow alarmOptionPop = new OptionsPopupWindow(getContext());
+ alarmOptionPop.setPicker(strings);
+
+ alarmOptionPop.setOnoptionsSelectListener(new OptionsPopupWindow.OnOptionsSelectListener() {
+ @Override
+ public void onOptionsSelect(int position, int option2, int options3) {
+ mDan = list.get(position);
+ tvDan.setText(mDan.getHome_name());
+
+ mFang = null;
+ tvFang.setText("请选择房号");
+ }
+ });
+
+ alarmOptionPop.showAtLocation(getRootView(), Gravity.BOTTOM, 0, 0);
+ } else if (requstecode == 4) {
+ //选择房号
+ Gson gs = new Gson();
+ ArrayList adta = (ArrayList) resultcode.data;
+ String s = gs.toJson(adta);
+ //final ArrayList list = null;
+ Type type = new TypeToken>() {
+ }.getType();
+ final ArrayList list = new Gson().fromJson(s, type);
+ final ArrayList strings = new ArrayList<>();
+
+
+ for (int i = 0; i < list.size(); i++) {
+ strings.add(list.get(i).getHome_name());
+ }
+ OptionsPopupWindow alarmOptionPop = new OptionsPopupWindow(getContext());
+ alarmOptionPop.setPicker(strings);
+
+ alarmOptionPop.setOnoptionsSelectListener(new OptionsPopupWindow.OnOptionsSelectListener() {
+ @Override
+ public void onOptionsSelect(int position, int option2, int options3) {
+ mFang = list.get(position);
+ tvFang.setText(mFang.getHome_name());
+ }
+ });
+
+ alarmOptionPop.showAtLocation(getRootView(), Gravity.BOTTOM, 0, 0);
+ } else if (requstecode == 5) {
+ if (listener != null) {
+ listener.onSubmit();
+ dismiss();
+ }
+ }
+
+ }
+
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ Toast.makeText(getContext(), getContext().getString(R.string.getdatafailure), Toast.LENGTH_SHORT).show();
+ // setToast(getString(R.string.getdatafailure));
+ throwable.printStackTrace();
+ }
+ });
+ }
+
+ public void setOnBindHouseListener(OnBindHouseListener listener) {
+ this.listener = listener;
+ }
+
+ interface OnBindHouseListener {
+ void onSubmit();
+ }
+
+}
diff --git a/app/src/main/java/com/sl/house_property/EntranceguardControl2Activity.java b/app/src/main/java/com/sl/house_property/EntranceguardControl2Activity.java
index 0c61a8a..d0d2d35 100644
--- a/app/src/main/java/com/sl/house_property/EntranceguardControl2Activity.java
+++ b/app/src/main/java/com/sl/house_property/EntranceguardControl2Activity.java
@@ -71,18 +71,18 @@ public class EntranceguardControl2Activity extends BaseActivity) getIntent().getSerializableExtra("list");
- for (int i = 0; i implements V
}
}
+ private ArrayList list;
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -139,6 +149,92 @@ public class MainFragment extends BaseFragment implements V
mParam2 = getArguments().getString(ARG_PARAM2);
}
+
+ }
+
+ private void getGankList(final String myurl, Map map, String string, final int getcode1) {
+ progressDialog = new ProgressDialog(getContext());
+ progressDialog.setMessage(string);
+
+ //map.put("")
+ progressDialog.setCancelable(false);
+ progressDialog.show();
+ mDataBinding.getRoot().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ progressDialog.dismiss();
+ //setToast(1, getString(R.string.timeout));
+ }
+ }, 13000);
+ mGankLoader = new Loader();
+ /* Map map=new HashMap();
+ map.put("phone");*/
+ mGankLoader.getMovie(myurl, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ //setToast(0,resultcode.status);
+ if ((!(resultcode.status == 0))) {
+ Toast.makeText(getContext(), resultcode.msg, Toast.LENGTH_SHORT).show();
+ return;
+ }
+ switch (getcode1) {
+
+ case 0:
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+ try {
+ JSONObject jsonObject = new JSONObject(s);
+ JSONArray jsonArray = jsonObject.getJSONArray("home");
+ Type type = new TypeToken>() {
+ }.getType();
+ list = new Gson().fromJson(jsonArray.toString(), type);
+ if (list == null || list.isEmpty()) {
+ return;
+ }
+ final ArrayList strings = new ArrayList<>();
+ for (int i = 0; i < list.size(); i++) {
+ strings.add(list.get(i).getAddress());
+ }
+ OptionsPopupWindow alarmOptionPop = new OptionsPopupWindow(getContext());
+ alarmOptionPop.setPicker(strings);
+
+ alarmOptionPop.setOnoptionsSelectListener(new OptionsPopupWindow.OnOptionsSelectListener() {
+ @Override
+ public void onOptionsSelect(int position, int option2, int options3) {
+ if (list.size() > 0) {
+ mDataBinding.tv1Address.setText(list.get(position).getAddress());
+ }
+
+ }
+ });
+
+ alarmOptionPop.showAtLocation(mDataBinding.getRoot(), Gravity.BOTTOM, 0, 0);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+
+ break;
+
+ }
+
+ }
+
+
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ //
+ Toast.makeText(getContext(), getString(R.string.getdatafailure), Toast.LENGTH_SHORT).show();
+
+ throwable.printStackTrace();
+ }
+ });
+
+
}
@Override
@@ -180,6 +276,45 @@ public class MainFragment extends BaseFragment implements V
bannerLP.width = ScreenUtils.getScreenWidth();
banner.setLayoutParams(bannerLP);
mDataBinding.taobaoRefreshLayout.autoRefresh();
+ mDataBinding.tv1Address.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (list == null || list.isEmpty()) {
+ Map map = new HashMap<>();
+ RegisterUser registerUser = Config.getInstance(getContext()).getUser();
+ if (registerUser != null) {
+ map.put("userid", registerUser.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+
+ map.put("sign", Md5.md5("Cas" + "GetMyAddress" + Md5.secret));
+ map.put("app", "Cas");
+ map.put("class", "GetMyAddress");
+ getGankList(ApiConfig.BASE_URL, map, "", 0);
+ return;
+ }
+ final ArrayList strings = new ArrayList<>();
+ for (int i = 0; i < list.size(); i++) {
+ strings.add(list.get(i).getAddress());
+ }
+ OptionsPopupWindow alarmOptionPop = new OptionsPopupWindow(getContext());
+ alarmOptionPop.setPicker(strings);
+
+ alarmOptionPop.setOnoptionsSelectListener(new OptionsPopupWindow.OnOptionsSelectListener() {
+ @Override
+ public void onOptionsSelect(int position, int option2, int options3) {
+ if (list.size() > 0) {
+ mDataBinding.tv1Address.setText(list.get(position).getAddress());
+ }
+
+ }
+ });
+
+ alarmOptionPop.showAtLocation(mDataBinding.getRoot(), Gravity.BOTTOM, 0, 0);
+
+ }
+ });
}
// TODO: Rename method, update argument and hook method into UI event
@@ -232,7 +367,7 @@ public class MainFragment extends BaseFragment implements V
if ((Config.getInstance(MainFragment.this.getContext()).getUser() == null)) {
intent = new Intent(MainFragment.this.getContext(), LoginActivity.class);
} else {
- intent = new Intent(getActivity(), EntranceguardActivity.class);
+ intent = new Intent(getActivity(), ShareCodeActivity.class);
}
startActivity(intent);
break;
@@ -440,7 +575,6 @@ public class MainFragment extends BaseFragment implements V
}
-
};
diff --git a/app/src/main/java/com/sl/house_property/RegisterActivity.java b/app/src/main/java/com/sl/house_property/RegisterActivity.java
index b136118..e731c55 100644
--- a/app/src/main/java/com/sl/house_property/RegisterActivity.java
+++ b/app/src/main/java/com/sl/house_property/RegisterActivity.java
@@ -5,11 +5,12 @@ import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
-import android.view.Gravity;
import android.view.View;
-import android.widget.Toast;
import com.cutil.RegexUtils;
+import com.google.gson.Gson;
+import com.google.gson.internal.LinkedTreeMap;
+import com.lxj.xpopup.XPopup;
import com.sl.house_property.databinding.ActivityRegisterBinding;
import java.util.HashMap;
@@ -17,9 +18,10 @@ import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
+import entity.RegisterUser;
+import http.ApiConfig;
import my_loader.Loader;
import my_loader.Resultcode;
-import http.ApiConfig;
import rx.Subscription;
import rx.functions.Action1;
import utils.Md5;
@@ -30,7 +32,6 @@ public class RegisterActivity extends BaseActivity impl
private Loader mGankLoader;
-
@Override
protected int getLayoutResId() {
return R.layout.activity_register;
@@ -39,14 +40,14 @@ public class RegisterActivity extends BaseActivity impl
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- progressDialog=new ProgressDialog(RegisterActivity.this);
+ progressDialog = new ProgressDialog(RegisterActivity.this);
setAbr(getString(R.string.register), new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
- },0,null,0,null,0,null,"");
+ }, 0, null, 0, null, 0, null, "");
mDataBinding.getcode.setOnClickListener(this);
mDataBinding.register.setOnClickListener(this);
@@ -54,37 +55,37 @@ public class RegisterActivity extends BaseActivity impl
@Override
public void onClick(View view) {
- switch (view.getId()){
+ switch (view.getId()) {
- case R.id.getcode:
- if(mDataBinding.registerphone.getText().toString().length()<1){
+ case R.id.getcode:
+ if (mDataBinding.registerphone.getText().toString().length() < 1) {
setToast(getString(R.string.me_input_phone_tip));
return;
}
- if(!RegexUtils.isMobileExact(mDataBinding.registerphone.getText().toString())){
+ if (!RegexUtils.isMobileExact(mDataBinding.registerphone.getText().toString())) {
setToast(getString(R.string.me_input_phone_error_tip));
return;
}
getMesgCode(R.id.getcode);
break;
- case R.id.register:
- if(mDataBinding.registerphone.getText().toString().length()==0){
+ case R.id.register:
+ if (mDataBinding.registerphone.getText().toString().length() == 0) {
setToast(getString(R.string.me_input_phone_tip));
return;
}
- if(!RegexUtils.isMobileExact(mDataBinding.registerphone.getText().toString())){
+ if (!RegexUtils.isMobileExact(mDataBinding.registerphone.getText().toString())) {
setToast(getString(R.string.me_input_phone_error_tip));
return;
}
- if(mDataBinding.logincode.getText().toString().length()<1){
+ if (mDataBinding.logincode.getText().toString().length() < 1) {
setToast(getString(R.string.me_input_verification_tip));
return;
}
- String password = mDataBinding.editpaw.getText().toString();
- if(password.length()<1){
+ String password = mDataBinding.editpaw.getText().toString();
+ if (password.length() < 1) {
setToast(getString(R.string.me_input_password_tip));
return;
}
@@ -93,24 +94,24 @@ public class RegisterActivity extends BaseActivity impl
//
// return;
// }
- if(!tools.RegexUtils.checkPassword(password)){
+ if (!tools.RegexUtils.checkPassword(password)) {
setToast(getString(R.string.me_input_password_fail_tip));
return;
}
String againPassword = mDataBinding.editagainpaw.getText().toString().trim();
- if(againPassword.length()<1){
+ if (againPassword.length() < 1) {
setToast(getString(R.string.me_input_again_password_tip));
return;
}
- if(!mDataBinding.editpaw.getText().toString().trim().equals(mDataBinding.editagainpaw.getText().toString().trim())){
+ if (!mDataBinding.editpaw.getText().toString().trim().equals(mDataBinding.editagainpaw.getText().toString().trim())) {
setToast(getString(R.string.me_password_Inconsistent_tip));
return;
}
- if(!mDataBinding.agreewhitemeg.isChecked()){
+ if (!mDataBinding.agreewhitemeg.isChecked()) {
setToast("请先同意注册协议");
return;
@@ -122,14 +123,14 @@ public class RegisterActivity extends BaseActivity impl
}
private void register(int id) {
- Map map=new HashMap<>();
- map.put("phone",mDataBinding.registerphone.getText().toString().trim());
- map.put("password",mDataBinding.editpaw.getText().toString().trim());
- map.put("code",mDataBinding.logincode.getText().toString().trim());
- map.put("sign", Md5.md5("Cas"+"UserReg"+Md5.secret));
+ Map map = new HashMap<>();
+ map.put("phone", mDataBinding.registerphone.getText().toString().trim());
+ map.put("password", mDataBinding.editpaw.getText().toString().trim());
+ map.put("code", mDataBinding.logincode.getText().toString().trim());
+ map.put("sign", Md5.md5("Cas" + "UserReg" + Md5.secret));
map.put("app", "Cas");
map.put("class", "UserReg");
- getGankList(ApiConfig.BASE_URL,map, getResources().getString(R.string.registering),id);
+ getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.registering), id);
}
@@ -139,13 +140,13 @@ public class RegisterActivity extends BaseActivity impl
/* getRegisterCode.setTextColor(getResources().getColor(R.color.regitergrey));*/
mDataBinding.getcode.setClickable(false);
- Map map=new HashMap<>();
- map.put("sendto",mDataBinding.registerphone.getText().toString().trim());
- map.put("action","register");
- map.put("sign", Md5.md5("Cas"+"SendCode"+Md5.secret));
+ Map map = new HashMap<>();
+ map.put("sendto", mDataBinding.registerphone.getText().toString().trim());
+ map.put("action", "register");
+ map.put("sign", Md5.md5("Cas" + "SendCode" + Md5.secret));
map.put("app", "Cas");
map.put("class", "SendCode");
- getGankList(ApiConfig.BASE_URL,map, getResources().getString(R.string.getthecodenow),id);
+ getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.getthecodenow), id);
// map = new HashMap();
// map.put("telephone", editPhoneNo.getText().toString().trim());
// getAsyTask(1, map, HttpUrl.registerUser(), "正在获取验证码", HttpNet.PROGRESSVISIBLE, HttpNet.POSTTYPE);//联网
@@ -164,34 +165,43 @@ public class RegisterActivity extends BaseActivity impl
progressDialog.dismiss();
//setToast(1, getString(R.string.timeout));
}
- },13000);
- mGankLoader = new Loader();
+ }, 13000);
+ mGankLoader = new Loader();
/* Map map=new HashMap();
map.put("phone");*/
- Subscription subscription = mGankLoader.getMovie(myurl,map).subscribe(new Action1() {
+ Subscription subscription = mGankLoader.getMovie(myurl, map).subscribe(new Action1() {
@Override
public void call(Resultcode resultcode) {
progressDialog.dismiss();
//setToast(0,resultcode.status);
- if((!(resultcode.status==0))){
- setToast( resultcode.msg);
+ if ((!(resultcode.status == 0))) {
+ setToast(resultcode.msg);
mDataBinding.getcode.setClickable(true);
return;
}
switch (getcode1) {
- case R.id.getcode:
- setToast( getString(R.string.megissucess));
- startTimer();
+ case R.id.getcode:
+ setToast(getString(R.string.megissucess));
+ startTimer();
break;
case R.id.register:
- setToast( getString(R.string.registersucess));
- mDataBinding.getRoot().postDelayed(new Runnable() {
+ setToast(getString(R.string.registersucess));
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+ RegisterUser user = gs.fromJson(s, RegisterUser.class);//把JSON字符串转为对象
+ BindHouseDialog bindHouseDialog = new BindHouseDialog(RegisterActivity.this);
+ bindHouseDialog.setUserId(user.getUserid());
+ bindHouseDialog.setOnBindHouseListener(new BindHouseDialog.OnBindHouseListener() {
@Override
- public void run() {
+ public void onSubmit() {
+
+ setToast("提交成功");
finish();
}
- },1500);
+ });
+ new XPopup.Builder(RegisterActivity.this).asCustom(bindHouseDialog).show();
break;
@@ -213,7 +223,7 @@ public class RegisterActivity extends BaseActivity impl
addSubscription(subscription);
}
- private void startTimer(){
+ private void startTimer() {
final Timer timer = new Timer();
final Handler handler = new Handler() {
@Override
@@ -249,9 +259,10 @@ public class RegisterActivity extends BaseActivity impl
/**
* 用户协议
+ *
* @param v v
*/
- public void agreementEvent(View v){
+ public void agreementEvent(View v) {
Intent intent = new Intent(this, RegisterAgreementActivity.class);
startActivity(intent);
}
diff --git a/app/src/main/java/com/sl/house_property/discovery/ShareCodeActivity.java b/app/src/main/java/com/sl/house_property/discovery/ShareCodeActivity.java
new file mode 100644
index 0000000..18e18a5
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/discovery/ShareCodeActivity.java
@@ -0,0 +1,319 @@
+package com.sl.house_property.discovery;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.RadioGroup;
+
+import com.google.gson.Gson;
+import com.google.gson.internal.LinkedTreeMap;
+import com.google.gson.reflect.TypeToken;
+import com.lxj.xpopup.XPopup;
+import com.selectpicker.OptionsPopupWindow;
+import com.sl.house_property.BaseActivity;
+import com.sl.house_property.R;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import entity.HomelistitemEntity;
+import entity.RegisterUser;
+import http.ApiConfig;
+import my_loader.Loader;
+import my_loader.Resultcode;
+import rx.Subscription;
+import rx.functions.Action1;
+import tools.Config;
+import utils.Md5;
+
+public class ShareCodeActivity extends BaseActivity {
+
+ private String user_home_id;
+
+ @Override
+ protected int getLayoutResId() {
+ return R.layout.activity_entranceguard_control2;
+ }
+
+ private int timeday = 7;
+ private OptionsPopupWindow alarmOptionPop;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setAbr("授权访客临时门禁", new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ finish();
+ }
+ }, 0, null, 0, null, 0, null, "");
+ Map map = new HashMap<>();
+ RegisterUser registerUser = Config.getInstance(ShareCodeActivity.this).getUser();
+ if (registerUser != null) {
+ map.put("userid", registerUser.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+
+ map.put("sign", Md5.md5("Cas" + "GetMyAddress" + Md5.secret));
+ map.put("app", "Cas");
+ map.put("class", "GetMyAddress");
+ getGankList(ApiConfig.BASE_URL, map, "", 0);
+
+
+ mDataBinding.myradio2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(RadioGroup radioGroup, int i) {
+ if (i == R.id.myradio21) {
+ timeday = 7;
+ }
+ if (i == R.id.myradio22) {
+ timeday = 30;
+ }
+ if (i == R.id.myradio23) {
+ timeday = 90;
+ }
+ }
+ });
+
+ mDataBinding.llAddress.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (list==null||list.isEmpty()){
+ Map map = new HashMap<>();
+ RegisterUser registerUser = Config.getInstance(ShareCodeActivity.this).getUser();
+ if (registerUser != null) {
+ map.put("userid", registerUser.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+
+ map.put("sign", Md5.md5("Cas" + "GetMyAddress" + Md5.secret));
+ map.put("app", "Cas");
+ map.put("class", "GetMyAddress");
+ getGankList(ApiConfig.BASE_URL, map, "", 0);
+ return;
+ }
+ final ArrayList strings = new ArrayList<>();
+ for (int i = 0; i < list.size(); i++) {
+ strings.add(list.get(i).getAddress());
+ }
+ alarmOptionPop = new OptionsPopupWindow(ShareCodeActivity.this);
+ alarmOptionPop.setPicker(strings);
+
+ alarmOptionPop.setOnoptionsSelectListener(new OptionsPopupWindow.OnOptionsSelectListener() {
+ @Override
+ public void onOptionsSelect(int position, int option2, int options3) {
+ user_home_id = list.get(position).getUser_home_id();
+ if (list.size() > 0) {
+ mDataBinding.tvAddress.setText(list.get(position).getAddress());
+ }
+
+ }
+ });
+
+ alarmOptionPop.showAtLocation(mDataBinding.getRoot(), Gravity.BOTTOM, 0, 0);
+ }
+ });
+ mDataBinding.confirm.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (list == null || list.isEmpty()) {
+ setToast("还没有房间");
+ return;
+ }
+
+ String phone = mDataBinding.telephone.getText().toString().trim();
+ if (TextUtils.isEmpty(phone)) {
+ setToast("请输入访客手机号");
+ return;
+ }
+ hideKeyboard(mDataBinding.telephone);
+
+ getPwd();
+ }
+
+ });
+
+
+ }
+
+ private ArrayList list;
+ private Loader mGankLoader;
+
+ private void getGankList(final String myurl, Map map, String string, final int getcode1) {
+ progressDialog.setMessage(string);
+
+ //map.put("")
+ progressDialog.setCancelable(false);
+ progressDialog.show();
+ mDataBinding.getRoot().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ progressDialog.dismiss();
+ //setToast(1, getString(R.string.timeout));
+ }
+ }, 13000);
+ mGankLoader = new Loader();
+ /* Map map=new HashMap();
+ map.put("phone");*/
+ Subscription subscription = mGankLoader.getMovie(myurl, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ //setToast(0,resultcode.status);
+ if ((!(resultcode.status == 0))) {
+ setToast(1, resultcode.msg);
+ return;
+ }
+ switch (getcode1) {
+
+ case 0:
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+ try {
+ JSONObject jsonObject = new JSONObject(s);
+ JSONArray jsonArray = jsonObject.getJSONArray("home");
+ Type type = new TypeToken>() {
+ }.getType();
+ list = new Gson().fromJson(jsonArray.toString(), type);
+ if (list != null && !list.isEmpty()) {
+ mDataBinding.tvAddress.setText(list.get(0).getAddress());
+ user_home_id = list.get(0).getUser_home_id();
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+
+ break;
+
+ }
+
+ }
+
+
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ setToast(2, getString(R.string.getdatafailure));
+ throwable.printStackTrace();
+ }
+ });
+
+ addSubscription(subscription);
+ }
+
+ private void getPwd() {
+ Map map = new HashMap<>();
+ RegisterUser registerUser = Config.getInstance(ShareCodeActivity.this).getUser();
+ if (registerUser != null) {
+ map.put("userid", registerUser.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+
+ map.put("sign", Md5.md5("Door" + "SendCustomerCode" + Md5.secret));
+ map.put("app", "Door");
+ map.put("class", "SendCustomerCode");
+ map.put("type", "qrcode");
+ map.put("validity_time", timeday + "");
+
+ //map.put("phone", mDataBinding.telephone.getText().toString().trim());
+ // map.put("validity_time", mDataBinding.daytiems.getText().toString().trim());
+ map.put("user_home_id", user_home_id);
+ progressDialog.show();
+ Subscription subscribe = mGankLoader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ if ((!(resultcode.status == 0))) {
+ setToast(1, resultcode.msg);
+ return;
+ }
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+ try {
+ JSONObject jsonArray = new JSONObject(s);
+ String qrcode = jsonArray.optString("qrcode", "");
+ getCode(qrcode);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ setToast(2, getString(R.string.getdatafailure));
+ throwable.printStackTrace();
+ }
+ });
+ addSubscription(subscribe);
+ // getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.requsting), 0);
+ }
+
+ private void getCode(final String code) {
+ Map map = new HashMap<>();
+ RegisterUser registerUser = Config.getInstance(ShareCodeActivity.this).getUser();
+ if (registerUser != null) {
+ map.put("userid", registerUser.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("sign", Md5.md5("Door" + "SendCustomerCode" + Md5.secret));
+ map.put("app", "Door");
+ map.put("class", "SendCustomerCode");
+ map.put("type", "password");
+ map.put("phone", mDataBinding.telephone.getText().toString().trim());
+ // map.put("validity_time", mDataBinding.daytiems.getText().toString().trim());
+ map.put("user_home_id", user_home_id);
+ Subscription subscribe = mGankLoader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ if ((!(resultcode.status == 0))) {
+ setToast(1, resultcode.msg);
+ return;
+ }
+ setToast(0, resultcode.msg);
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+ try {
+ JSONObject jsonArray = new JSONObject(s);
+ String pwd = jsonArray.optString("code", "");
+
+ ShareCodeDialog shareCodeDialog = new ShareCodeDialog(ShareCodeActivity.this);
+ shareCodeDialog.setCode(code);
+ shareCodeDialog.setPwd(pwd);
+ new XPopup.Builder(ShareCodeActivity.this).asCustom(shareCodeDialog).show();
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ setToast(2, getString(R.string.getdatafailure));
+ throwable.printStackTrace();
+ }
+ });
+ addSubscription(subscribe);
+ }
+}
diff --git a/app/src/main/java/com/sl/house_property/discovery/ShareCodeDialog.java b/app/src/main/java/com/sl/house_property/discovery/ShareCodeDialog.java
new file mode 100644
index 0000000..f1c4641
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/discovery/ShareCodeDialog.java
@@ -0,0 +1,67 @@
+package com.sl.house_property.discovery;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.support.annotation.NonNull;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.lxj.xpopup.core.CenterPopupView;
+import com.sl.house_property.R;
+
+import utils.QRCodeUtil;
+
+public class ShareCodeDialog extends CenterPopupView {
+ private String pwd;
+ private String code;
+ private TextView tvPwd;
+ private ImageView ivCode;
+ private TextView tvShare;
+ private TextView tvCancel;
+
+ public ShareCodeDialog(@NonNull Context context) {
+ super(context);
+ }
+
+ @Override
+ protected int getImplLayoutId() {
+ return R.layout.dialog_share_cede;
+ }
+
+ @Override
+ protected void onCreate() {
+ super.onCreate();
+ tvPwd = findViewById(R.id.title2);
+ ivCode = findViewById(R.id.myImage);
+ tvShare = findViewById(R.id.tv_share);
+ tvCancel = findViewById(R.id.tv_cancel);
+ tvCancel.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ dismiss();
+ }
+ });
+ tvShare.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ dismiss();
+ }
+ });
+ tvPwd.setText("密码:" + pwd);
+ Bitmap qrCodeBitmap = QRCodeUtil.createQRCodeBitmap(code, QRCodeUtil.dip2px(getContext(),220), QRCodeUtil.dip2px(getContext(),220));
+ ivCode.setImageBitmap(qrCodeBitmap);
+ }
+
+
+
+ public void setPwd(String pwd) {
+ this.pwd = pwd;
+ }
+
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+}
diff --git a/app/src/main/java/utils/MyPhoneValue.java b/app/src/main/java/utils/MyPhoneValue.java
index 6db8a1a..fc9a7db 100644
--- a/app/src/main/java/utils/MyPhoneValue.java
+++ b/app/src/main/java/utils/MyPhoneValue.java
@@ -75,4 +75,7 @@ public class MyPhoneValue {
return sbar;
}
+
+
+
}
\ No newline at end of file
diff --git a/app/src/main/java/utils/QRCodeUtil.java b/app/src/main/java/utils/QRCodeUtil.java
index b52ab9f..b12ddef 100644
--- a/app/src/main/java/utils/QRCodeUtil.java
+++ b/app/src/main/java/utils/QRCodeUtil.java
@@ -1,5 +1,6 @@
package utils;
+import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.support.annotation.ColorInt;
@@ -28,7 +29,13 @@ public class QRCodeUtil {
public static Bitmap createQRCodeBitmap(String content, int width, int height){
return createQRCodeBitmap(content, width, height, "UTF-8", "H", "2", Color.BLACK, Color.WHITE);
}
-
+ /**
+ * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
+ */
+ public static int dip2px(Context context, float dpValue) {
+ final float scale = context.getResources().getDisplayMetrics().density;
+ return (int) (dpValue * scale + 0.5f);
+ }
/**
* 创建二维码位图 (支持自定义配置和自定义样式)
*
diff --git a/app/src/main/res/layout/activity_entranceguard_control2.xml b/app/src/main/res/layout/activity_entranceguard_control2.xml
index cd01c34..fae40a8 100644
--- a/app/src/main/res/layout/activity_entranceguard_control2.xml
+++ b/app/src/main/res/layout/activity_entranceguard_control2.xml
@@ -1,120 +1,180 @@
+
+ android:fitsSystemWindows="true">
+
+ android:fitsSystemWindows="true">
+
+ android:layout_height="match_parent"
+ android:background="#f7f7f7">
+
+ android:orientation="vertical">
+
+
+
+
+
+
+
+
+ android:paddingRight="15dip">
+
+
+
+ android:gravity="center"
+ android:text="时间" />
+
-
-
- android:layout_height="wrap_content" />
-
- android:layout_height="wrap_content" />
+
+
+
+
+ android:layout_height="0.5dip"
+ android:background="@color/lightlittleGrey" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
-
+ android:layout_height="wrap_content"
+ android:layout_marginTop="20dip"
+ android:background="@null"
+ android:hint="访客手机号"
+ android:textSize="@dimen/textedit" />
-
-
+ android:background="@drawable/selector_common_btn"
+ android:gravity="center"
+ android:padding="15dip"
+ android:text="确认授权"
+ android:textColor="@color/white" />
diff --git a/app/src/main/res/layout/dialog_bind_house.xml b/app/src/main/res/layout/dialog_bind_house.xml
new file mode 100644
index 0000000..2859f8b
--- /dev/null
+++ b/app/src/main/res/layout/dialog_bind_house.xml
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_share_cede.xml b/app/src/main/res/layout/dialog_share_cede.xml
new file mode 100644
index 0000000..ff8becc
--- /dev/null
+++ b/app/src/main/res/layout/dialog_share_cede.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
index 3c24c15..6da1cd4 100644
--- a/app/src/main/res/layout/fragment_main.xml
+++ b/app/src/main/res/layout/fragment_main.xml
@@ -22,7 +22,8 @@
android:layout_marginTop="@dimen/mystatusbar"
android:orientation="vertical">
-
-
+
Date: Fri, 18 Sep 2020 09:14:08 +0800
Subject: [PATCH 4/5] 1
---
.../com/sl/house_property/Main4Fragment.java | 4 +-
.../com/sl/house_property/MainFragment.java | 13 +--
.../sl/house_property/MainTabActivity.java | 24 ++++-
.../discovery/LikeFragment.java | 92 ++++++++++++++++++
app/src/main/res/drawable/main_bottom_2.xml | 4 +-
.../main/res/drawable/main_bottom_like.xml | 5 +
app/src/main/res/layout/activity_main_tab.xml | 18 +++-
app/src/main/res/layout/fragment_like.xml | 48 +++++++++
app/src/main/res/layout/fragment_main.xml | 49 +++++++---
app/src/main/res/mipmap-xhdpi/gouwuche.png | Bin 0 -> 1249 bytes
app/src/main/res/mipmap-xhdpi/gouwuche_no.png | Bin 0 -> 1192 bytes
app/src/main/res/mipmap-xhdpi/zan.png | Bin 0 -> 1582 bytes
app/src/main/res/mipmap-xhdpi/zan_p.png | Bin 0 -> 1625 bytes
13 files changed, 224 insertions(+), 33 deletions(-)
create mode 100644 app/src/main/java/com/sl/house_property/discovery/LikeFragment.java
create mode 100644 app/src/main/res/drawable/main_bottom_like.xml
create mode 100644 app/src/main/res/layout/fragment_like.xml
create mode 100644 app/src/main/res/mipmap-xhdpi/gouwuche.png
create mode 100644 app/src/main/res/mipmap-xhdpi/gouwuche_no.png
create mode 100644 app/src/main/res/mipmap-xhdpi/zan.png
create mode 100644 app/src/main/res/mipmap-xhdpi/zan_p.png
diff --git a/app/src/main/java/com/sl/house_property/Main4Fragment.java b/app/src/main/java/com/sl/house_property/Main4Fragment.java
index 7be61b0..efb6b09 100644
--- a/app/src/main/java/com/sl/house_property/Main4Fragment.java
+++ b/app/src/main/java/com/sl/house_property/Main4Fragment.java
@@ -82,7 +82,9 @@ public class Main4Fragment extends BaseFragment {
mDataBinding.userImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
-
+ Intent intent = new Intent(getActivity(), MyUserMessage.class);
+ intent.putExtra("usertitile", "个人信息");
+ startActivityForResult(intent, 0);
}
});
initTopView();
diff --git a/app/src/main/java/com/sl/house_property/MainFragment.java b/app/src/main/java/com/sl/house_property/MainFragment.java
index d5f4c7b..b2c5aeb 100644
--- a/app/src/main/java/com/sl/house_property/MainFragment.java
+++ b/app/src/main/java/com/sl/house_property/MainFragment.java
@@ -372,12 +372,13 @@ public class MainFragment extends BaseFragment implements V
startActivity(intent);
break;
case R.id.cargara://车库
- if ((Config.getInstance(MainFragment.this.getContext()).getUser() == null)) {
- intent = new Intent(MainFragment.this.getContext(), LoginActivity.class);
- } else {
- intent = new Intent(getActivity(), CarGarageActivity.class);
- }
- startActivity(intent);
+ Toast.makeText(getContext(),"功能正在开发",Toast.LENGTH_SHORT).show();
+// if ((Config.getInstance(MainFragment.this.getContext()).getUser() == null)) {
+// intent = new Intent(MainFragment.this.getContext(), LoginActivity.class);
+// } else {
+// intent = new Intent(getActivity(), CarGarageActivity.class);
+// }
+// startActivity(intent);
break;
case R.id.moew1:
intent = new Intent(getActivity(), MyMarketShopActivity.class);
diff --git a/app/src/main/java/com/sl/house_property/MainTabActivity.java b/app/src/main/java/com/sl/house_property/MainTabActivity.java
index d930f8c..de21d90 100644
--- a/app/src/main/java/com/sl/house_property/MainTabActivity.java
+++ b/app/src/main/java/com/sl/house_property/MainTabActivity.java
@@ -15,11 +15,11 @@ import com.gyf.immersionbar.ImmersionBar;
import com.sl.house_property.cart.CartFragment;
import com.sl.house_property.databinding.ActivityMainTabBinding;
import com.sl.house_property.discovery.DiscoveryFragment;
+import com.sl.house_property.discovery.LikeFragment;
import java.util.ArrayList;
import tools.Config;
-import utils.UtilHelpers;
public class MainTabActivity extends BaseActivity
implements View.OnClickListener, MainFragment.OnFragmentInteractionListener,
@@ -44,6 +44,7 @@ public class MainTabActivity extends BaseActivity
private Main3Fragment fragment2;
private CartFragment fragment3;
private Main4Fragment fragment4;
+ private LikeFragment likeFragment;
private Fragment currentFragment;
private int myeditcode = 1000;
@@ -51,7 +52,7 @@ public class MainTabActivity extends BaseActivity
private int nowradioId;
-// @Override
+ // @Override
// public boolean dispatchTouchEvent(MotionEvent ev) {
// switch (ev.getAction()) {
// case MotionEvent.ACTION_DOWN:
@@ -62,30 +63,36 @@ public class MainTabActivity extends BaseActivity
// return super.dispatchTouchEvent(ev);
//
// }
- public void visibilyBottom(int isVisibily){
+ public void visibilyBottom(int isVisibily) {
findViewById(R.id.rl_bottom).setVisibility(isVisibily);
}
+
//2. 保存MyOnTouchListener接口的列表
private ArrayList onTouchListeners = new ArrayList();
+
//1.触摸事件接口
public interface MyOnTouchListener {
public boolean onTouch(MotionEvent ev);
}
+
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
for (MyOnTouchListener listener : onTouchListeners) {
- // listener.onTouch(ev);
+ // listener.onTouch(ev);
}
return super.dispatchTouchEvent(ev);
}
+
//4.提供给Fragment通过getActivity()方法来注册自己的触摸事件的方法
public void registerMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.add(myOnTouchListener);
}
+
//5.提供给Fragment通过getActivity()方法来注销自己的触摸事件的方法
public void unregisterMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.remove(myOnTouchListener);
}
+
@Override
protected int getLayoutResId() {
@@ -194,6 +201,15 @@ public class MainTabActivity extends BaseActivity
}
currentFragment = fragment4;
break;
+ case R.id.like:
+ if (likeFragment == null) {
+ likeFragment = LikeFragment.newInstance();
+ fragmentTransaction.add(R.id.mycontent, likeFragment, "likeFragment");
+ } else {
+ fragmentTransaction.show(likeFragment);
+ }
+ currentFragment = likeFragment;
+ break;
}
try {
fragmentTransaction.commit();
diff --git a/app/src/main/java/com/sl/house_property/discovery/LikeFragment.java b/app/src/main/java/com/sl/house_property/discovery/LikeFragment.java
new file mode 100644
index 0000000..8142f4f
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/discovery/LikeFragment.java
@@ -0,0 +1,92 @@
+package com.sl.house_property.discovery;
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+import android.view.LayoutInflater;
+
+import com.gyf.immersionbar.ImmersionBar;
+import com.sl.house_property.BaseFragment;
+import com.sl.house_property.R;
+import com.sl.house_property.databinding.FragmentLikeBinding;
+
+import java.util.ArrayList;
+
+import entity.RegisterUser;
+import tools.Config;
+
+public class LikeFragment extends BaseFragment {
+ private ArrayList fragments;
+ private String[] strings;
+
+ public static LikeFragment newInstance() {
+ LikeFragment fragment = new LikeFragment();
+ Bundle args = new Bundle();
+
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.fragment_like;
+ }
+
+ @Override
+ protected void loadData() {
+
+ }
+
+ class MyViewPagerAdapter extends FragmentPagerAdapter {
+ public MyViewPagerAdapter(FragmentManager fm) {
+ super(fm);
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ return fragments.get(position);
+ }
+
+
+ @Override
+ public int getCount() {
+ return fragments.size();
+ }
+
+ @Override
+ public CharSequence getPageTitle(int position) {
+ return strings[position];
+
+ }
+ }
+
+ @Override
+ protected void onCreateVew(LayoutInflater inflater, Bundle savedInstanceState) {
+ super.onCreateVew(inflater, savedInstanceState);
+
+ ImmersionBar.with(this)
+ .keyboardEnable(true) //解决软键盘与底部输入框冲突问题
+ // .keyboardEnable(true, WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE
+ // | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) //软键盘自动弹出
+ .init();
+
+ strings = new String[2];
+ strings[0] = "说说";
+ strings[1] = "商品";
+ fragments = new ArrayList<>();
+ RegisterUser user =
+ Config.getInstance(getActivity()).getUser();
+ String userId = "";
+ if (user != null) {
+ userId = user.getUserid();
+ } else {
+ userId = "0";
+ }
+ fragments.add(HistoryRecordFragment.newInstance(1, userId));
+ fragments.add(HistoryRecordFragment.newInstance(2, userId));
+ MyViewPagerAdapter myViewPagerAdapter = new MyViewPagerAdapter(getChildFragmentManager());
+ mDataBinding.fl.setAdapter(myViewPagerAdapter);
+ mDataBinding.tb.setupWithViewPager(mDataBinding.fl);
+ }
+}
diff --git a/app/src/main/res/drawable/main_bottom_2.xml b/app/src/main/res/drawable/main_bottom_2.xml
index 3f2cad3..01726a3 100644
--- a/app/src/main/res/drawable/main_bottom_2.xml
+++ b/app/src/main/res/drawable/main_bottom_2.xml
@@ -1,5 +1,5 @@
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/main_bottom_like.xml b/app/src/main/res/drawable/main_bottom_like.xml
new file mode 100644
index 0000000..4717bb3
--- /dev/null
+++ b/app/src/main/res/drawable/main_bottom_like.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main_tab.xml b/app/src/main/res/layout/activity_main_tab.xml
index cdf39e0..05393d4 100644
--- a/app/src/main/res/layout/activity_main_tab.xml
+++ b/app/src/main/res/layout/activity_main_tab.xml
@@ -16,8 +16,7 @@
+ android:layout_height="match_parent">
+ android:orientation="vertical"
+ android:visibility="visible">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
index 6da1cd4..fed9d66 100644
--- a/app/src/main/res/layout/fragment_main.xml
+++ b/app/src/main/res/layout/fragment_main.xml
@@ -42,6 +42,7 @@
android:textSize="17sp" />
-
-
-
-
+
+
+
+
+
+
+
+
2C8-?Wrcs#L2h
zaUn>lZ2}gnR8(|87u7miCK>S;W?3f&bup!Oa=%w@rfEl;$-T*BbRu53d^hC#&Uv4E
z&dK)^qQ@`xxPJUM09@WXBI#Fy4MQrUmi&fCPyN;l(V-skma2x+O~jrO@u@i;XR&mA
zzQWW~NPcEXO&UnTmOI0MiOU5IG(?Lym^e~?Y(7G?tbv-JdE9{Q0IvyZege59S+0
zWDy5BZwHC(6rN$R{7TOOD4$s^@nZ>tiDG$2?*aJP^@3gmaEic(4yXvKBxvKHtDt68
z*n%nx!@vI6!Fy#zsifKS;04V@r8)@@zN-jVX2*Il$t8i|rt%KVXc!E_-
zEUfa_@R^2K#EL%ra;6_lq-u1jB(2|pDT7NvOpA5MG=Y?+
zfUk(MdFl5WBkd@Ul%9(O2=d-$3cKS1v@fPU4_ygM_CvK)081sDt3v}y8QCu|MW|m>
zQ4a6L_4!K}j08|Fvqj{txddnzT7Kqc0q+5<#R1qVa_4*k2!WmNeF9)rBtT;#>sbK#
znL&ZudKVy{-6d&DD}eJ+y0hI}o~eHz4E7bvL#^z^P9f#I-6A%(1ju`bC_LOP0D@1l
zP>8$_|~^$
zU8#W}m)TEp-An*lvtqFpo%;;awxF{Gk+30AEQd?@8L#-iLcaHsfM;7qz#mA}G}*NX
zBrmg*d~;-?I{pU>I6uNL37%PZ+9K85W&2EcnAPvBc0fX-G~Q
z&Mq<}14E)_IJa=BO*q43pTV5Ll7?E?hIiupvo3uOoPpt;u$q%iU#Ug{G&VFne6W>S
zF7RsrLsp1Bm6(HkX=ySt0@L@O0EQ*J`%jCU$)BjPSOB4cAnzSuI3v%qD>gu=TmCKA
z1PJai;Pqx4j#w*)@oq5EkT&6PD?dpWeAgDhR61q9ntA2P_pMO6w;KS?_rg@Yueq&@
ze%b=iL)jZ-`l*#bLN~E6`r~XM2m^pPDV@+au#`0ZbLL_l|%y&D2ob&thqPY^5za
zw)6uWW1;*&eLd8PGx^yQf^ProSdCd>^!iTh&GqoBLX
zk!Q?th{aN&o8lX`8h+}ZWgoFvIyl`=#{hF7wiBEG19bA%x;f@gR((yOB@K5<00000
LNkvXXu0mjf9w9@%
literal 0
HcmV?d00001
diff --git a/app/src/main/res/mipmap-xhdpi/gouwuche_no.png b/app/src/main/res/mipmap-xhdpi/gouwuche_no.png
new file mode 100644
index 0000000000000000000000000000000000000000..95dd19f93292bfb931655a5260e3c749a17c7678
GIT binary patch
literal 1192
zcmV;Z1XufsP)*elZ^ndzf2iR8@!tSYN__y}cL3)~rP2>Vh@U1WC;uoy@6g=b+|FjRd8vol^8mim
zTA!{~tEaasOgMz*=jX3oUtix1U>7s*7D9w&m+9kD%4fGDMC=?;N<9bQH2^mOcu-3D
z>2`xioW!o{Iz(h3UX)V4RYZV&MDztSPusTb6b``iyeVdW1HgGA`b=xRMnr1>R)r92
ztyZf+M2%{-`scp^mpFu!QWXGRN^|P~3|w@q8rTkW2pR-ISPCH;%gf7+#l^)SW$d2S
z(f~*RE)gwht=}Y~2>=sBG_JKaWq1u>yi+E|yv)hppbebXI)ntUd2X(o&1R$BZZ{mq
z*@$8!iYcY40A>wly+lc_4=e^3zuWu&+1FV$#62RU>far&;umDP_X#j_c3~(60!8m|UFWsMY
zEcdG)1i^HzR$GdTmwE^(rH%kNkN|Lkh@Q?10KoH7%6IYtm<3QR@(^+X$RY!nJg8D+
z03X0BaR5rGCz$z;yyk$``n_7Mwvx*na9#H(5xv|Gz;T=%BO@bU6H)gPbW1GET(NE2
zr0{(|S>8f(0A7mgfti^ZldR>|1Lbo0tYujyOWitv@B7EJ*87V*2i^woLSX@-IRM~{
zlyc9O26v8)Q_lh4_YY~UO+Iu<2=Qp8QaP8SkAXt@zJHh2`da`$CT642imXd1Hb)uA
zQT9fAJ58QU0}!sr0GtGHBY-=z>*d>mnSTLr!ff*-0z?a%?tLN0aRh*W9HXP7A_xM(
z%tC7&meFDAcb`YsLqkJh9CNQ%+5KH~-kqr?0z?a%!ftFSrFH@M9>9{6GI3WT-@%d`
zEwKl>*PrJ917<#z9QNweAflC203C>90QO%UYw1-|1DKHYdi{o0tMw2Oz1vGdYyA{6
zucnvpU(;-W2_fE((-|Hf{y7tX3Ff-)cQKjgCsN9X^8j#N_Y@I5(kIrYP9}ia+1Xo4
zrP8l)2FvC0ZBtWI7qSQbX5M4l_L;2!q|p&V+*7Gk
z&SnDeJa2-Te@ifTy_B-opN6TK(&!M;PRp`ZGXWR}p67kU%#ZbPb5u$>mD*`c#W)=z
zI%!$f;(_fKN-kgW|D27t1m(Dj*%KM@^0|9j2M$Zt@1I)Z(7CTbP
z#XQYNv0T>;b<8z0e{S3M@ot@g0j`AEL1O+7FvwHOv&~;*6iqzy0lixQ0000M6wl
literal 0
HcmV?d00001
diff --git a/app/src/main/res/mipmap-xhdpi/zan.png b/app/src/main/res/mipmap-xhdpi/zan.png
new file mode 100644
index 0000000000000000000000000000000000000000..01350f54252c3025536cfdd16f030b06e62b64da
GIT binary patch
literal 1582
zcmV+}2GRM6P)#k7M_Xh*%IL;a(dOdD0
z#7$tms%{JjEH=jMEM8^Tb$6=jqM+_p5&5uEFT_fKnKuJi9T1phjM-NV&~cpQMD$Tm
z_q2#SGS&!mgqu}FPFoz;b?a4iZvgr;5m`272r%>I0NMjU+eGB%QgC&3brVymRQMh^
zAR-rzB?2!4xYq(w)w?{;d#e;&Q&ZFUo}Qi)LH%(NIcH1|NT<__eBTc@?6G7rIkT;;
z?axwh4Gj&`3x&cj!5;C9F+3&+F!Lb*Qv+bl#+Zi&1IEm00N(}oc8JK5|CE5;l)mq8
zC!(1FkdH-V`B0#kc>#c3!Trr5vL6pkj7$zQYCto81YHXzh7bAK2t
z(`OqI%~93MirRDnctAuxDK{B2e+ppf2v_|t06*EqBcd(Fm@NYqHvGZN_6V?IgoE32
zP4lT!r=IWX>MDEQPp8u}eBT!Ul}4VeBC@jI^R~duHfHy~)`@7Psva&OW1nApR1R&A
zs^0H;-dDpR9X$UjBC?-kp-@Nx=quYgTlRh5UdILXwmcbt-T3tYE(+&S)lHt~t?dgM
z_RDdc2Z`vpzKSv@MP}XupfMO|p@_5$2YeiDnE4(6uNLjOdB&Jb9|2~z2}roQLjq%F
z8$qlmtc@yxV4+_lqPuNbRo8i*_ex{}zVBb(-rl}Dj@2FR7$pn6K}24NOn`{4F~)?+
z%WyGN)Xs67jYPCQ@W36O=e-k|fT~{QdEU1bAsS)l;z+5gOFYlp5t#rH^=+aNVyLJ&
zGk*=B$qwTC{@nKV_SVP*RP_qa^V%vxG{Vlz{4;&lx<4`jB1#)$%m^`5
z)SQ_$9H6$gHr3M7@^@qcs_J;27bY+j0UJ)|;7x8lVC|@g)Y?L10*OSTKAX+jGtj7*
z>$**5*=Ael^F+Sb+YTBU$Rlv
zCq2)5v?2lkE*6pSnLN|{72jv(w*mAieMHo+IYr(B`FwtQXJ@BPaz@39LTGO;mz&hx
z-F>Q34@?u0-$nzy>$ZXn;|);sA`>8@
zDaM#T;sRN2oZ>SO5iK>wSf#tqA`{5x^OHI|JA0~4AP~cBus9FEk(!#C*_lk{Sj7Zt
zYHB8AGMP|is~Qj2b(gBD6$7lDCdEYdKrWX%D~tqHL;r8O`z8_H8O(80sqzt-KzNv{
zCiwdL`kBdO(kdAfh-gqLGBN=XN!Zl1ngp161AyjWj%P%~3S$E-G64W@sH!2NwrZ#o
zjg5_G_xARFY4eW0Xfs3tRf()pyb|_>W^)6p5w+y=`Anq|syKl!)`5odKonuC?9-#F
zT}0Fc;2;ql^nL$;y#o0C43AwS5#4BW-u_ToCVlPKMn@tos_N}TWX~dV0bB{-IsoIV
zu^+5TXpGr9)YzrsZn1DRSRebRMYD)JTXHkO%yU(BK7a-yasb$bV}Qav5`uvT-xHBR
z|Meg6A}b!)aU47G0wOxUxZZA7BKjhm&04j1SmwI!WL2F8;DVyhlyaR_^$-!Y4>vHx
g`Zw#aSjF7vA8*7LUW05t;s5{u07*qoM6N<$f=ZU`*8l(j
literal 0
HcmV?d00001
diff --git a/app/src/main/res/mipmap-xhdpi/zan_p.png b/app/src/main/res/mipmap-xhdpi/zan_p.png
new file mode 100644
index 0000000000000000000000000000000000000000..a4d31ef99efdd9f51f527fed4c084c5c875867ec
GIT binary patch
literal 1625
zcmV-f2B!ImP)H_fPi2d%1aFdmfpEbXdzeyvxp?5geK5C7s3Y+LWD>{Y$Eyr0wsvX
zYDi2(0t7^f?YeWT<;?~q=_UvygbmByxrH`ZjADxv6w2Ga&3VX7=dQEcz1!`bdzbZm
zxi>Rs&Ut?SbI$+Fd4~8uFYJ_l`QD|FP65n5xC^#(^T4~E=&K_D^1VL`xOj@-EnF~s
zJ%9Jc{&s@29YAI8P7xcX7pdpyMAxwQ^}n|ZqOAb(i%SLWZHSY!9^la=t^#mIdVRnI
z;W_gY;L7f=%GwuWaReS?5MC4iSEcxMiQ51idEg#zWKess9T4pufpW^sJzZlKa9sR>ME!9fh_6L}l+`64xgJEl=f^
z+U~5talg3MfR88B3b@A!!rSK+fc3rC8;jKh;X%RCx>A>nUQ0#)$pqo0^9DdydS}XF
zN4kKwG6*l9Do$(9I8qDU#y+su1mOwu1|X_<_fhz6EXYFF6@vPs2Lbr2j}SimB)z`h
z1mPFw1%S%k7m2p9U_ankVL7)BzJD;lS<8gztu#y38PvRa0bqUa9RSCt*=HmBYCoJ#
z*vLAs+ckJKz4wd>!b?6^fRS~jF4x#?0GFq8|49bn+Ge80%3hB{Y)`Y$!%h(1&~^Zo
zy(=tnDul(^#tpd##O_9Jk1F0R6n@dDLvRnk^BD}i*-TXAd$$qzQ34>`1#;NP4#RLb
zl7<0(>QJ8m=2Jw`d$5In@sC6C=r%2rQe8F;HhY4=R)8x6ot~+)lfw5|4WF8+Gx^@r
z0@fU6)ISFB4*xL<9`Cpt;f(x@n|IClzOO5~Pn2Ur0QoWx
z5tzQP^1qRfhtu~i7cjA{Q>=_b`zB2xpohernQJeT`X2l0&(8*0Wv>T>8mGcKY|`~g8Gf=x&u@${y^kU)AZK#P0{+^
z%K%oz^&;Uyw;J}(MtnQ!sN&ru;r`5;JBLASAell@+1t>F?o7h0@5LFU=kowa`t*wr
z5d2OOXz6BF>%YnYV87v3cRbgQ=+3r{Y@kWp%D(XDEdvnz8iQJLc$upbm5cY1Tp#ym
zrE3e-`fqap=sX7Xm*z@*B07^PNnOIe`ZGBIm@J~X1d#8&AYgT}2CQAlEjwPx0id%P
z)CcDh!1~@l0i2isIPNm`zOp9=0J|B~YI6*ri8Q+JIG6qX<2e9SWKd5IFmqAToje|a
zxV&eA@VI0oTHOamVY(ItLp$d}eB8&FUs~-zFQomwW`b}CWVgjqv4~t?TwLqBT&FnZVvxF%l>m!lV2(c8cG}4Zi4We6X~?o
zEX2a-@rOFZ%?|_{7c+I}M-%W>}moz69W1V&Q2F20q9SFuZUvpB!koY#rlJrL;!U)9Lg%$ckxw
z1U?#G)W`%KQ=gpIi@z55?PR(LmrZp(S_ep9raCJAs;=dV3bB*1nBcTlWa|JyXqY60
z&XvgbZY8iWjsA~W4R4#;Tk8PABY
Date: Mon, 21 Sep 2020 10:45:32 +0800
Subject: [PATCH 5/5] 1
---
.../com/sl/house_property/MainFragment.java | 844 ++++++++++++++++--
.../sl/house_property/MainTabActivity.java | 2 +-
.../discovery/GoodsInfoDialog.java | 2 +-
app/src/main/res/layout/fragment_main.xml | 436 +++++----
4 files changed, 964 insertions(+), 320 deletions(-)
diff --git a/app/src/main/java/com/sl/house_property/MainFragment.java b/app/src/main/java/com/sl/house_property/MainFragment.java
index b2c5aeb..3a4046a 100644
--- a/app/src/main/java/com/sl/house_property/MainFragment.java
+++ b/app/src/main/java/com/sl/house_property/MainFragment.java
@@ -3,29 +3,44 @@ package com.sl.house_property;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
+import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
+import android.support.v7.widget.LinearLayoutManager;
import android.text.TextPaint;
+import android.text.TextUtils;
import android.view.Gravity;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
+import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.cutil.ScreenUtils;
import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
import com.google.gson.reflect.TypeToken;
+import com.gyf.immersionbar.ImmersionBar;
+import com.lxj.xpopup.XPopup;
+import com.lzy.ninegrid.ImageInfo;
+import com.lzy.ninegrid.preview.NineGridViewClickAdapter;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import com.selectpicker.OptionsPopupWindow;
import com.sl.house_property.databinding.FragmentMainBinding;
-import com.sl.house_property.databinding.FragmentRecyclerviewHorizationItemBinding;
-import com.sl.house_property.databinding.FragmentRecyclerviewVorizationItemBinding;
+import com.sl.house_property.databinding.ItemCommentBinding;
+import com.sl.house_property.databinding.ItemDiscoveryBinding;
+import com.sl.house_property.discovery.GoodsInfoDialog;
+import com.sl.house_property.discovery.HistoryRecordActivity;
import com.sl.house_property.discovery.ShareCodeActivity;
+import com.sl.house_property.order.SettleActivity;
import com.sl.house_property.user.MyMarketShopActivity;
import com.squareup.picasso.Picasso;
import com.youth.banner.Banner;
@@ -45,20 +60,25 @@ import java.util.Map;
import adapter.BaseRecycleViewAdapter;
import entity.Advert_carouseleEntity;
-import entity.Advertorial_listEntity;
+import entity.DiscoveryListEntity;
+import entity.GoodsDetailEntity;
import entity.HomelistitemEntity;
import entity.MainF1Entity;
-import entity.Message_listEntity;
import entity.RegisterUser;
import http.ApiConfig;
import my_loader.Loader;
import my_loader.Resultcode;
+import my_view.CommentDialog;
import my_view.tao_bao_refresh.FullyGridLayoutManager;
import rx.Subscription;
import rx.functions.Action1;
import tools.Config;
import tools.PicassoRoundTransform;
+import utils.CommonUtils;
+import utils.DateUtils;
+import utils.KeyboardUtil;
import utils.Md5;
+import utils.UtilHelpers;
/**
@@ -69,7 +89,7 @@ import utils.Md5;
* Use the {@link Main1Fragment#newInstance} factory method to
* create an instance of this fragment.
*/
-public class MainFragment extends BaseFragment implements View.OnClickListener {
+public class MainFragment extends BaseFragment implements View.OnClickListener, MainTabActivity.MyOnTouchListener {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
@@ -78,9 +98,9 @@ public class MainFragment extends BaseFragment implements V
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
-
+ private ArrayList discoveryListEntities = new ArrayList<>();
private OnFragmentInteractionListener mListener;
- private ProgressDialog progressDialog;
+ private ProgressDialog progressDialog ;
private Loader mGankLoader;
private ArrayList mBannerImages;
@@ -152,8 +172,9 @@ public class MainFragment extends BaseFragment implements V
}
+
private void getGankList(final String myurl, Map map, String string, final int getcode1) {
- progressDialog = new ProgressDialog(getContext());
+
progressDialog.setMessage(string);
//map.put("")
@@ -244,8 +265,10 @@ public class MainFragment extends BaseFragment implements V
// progressDialog = new ProgressDialog(baseActivity);
// progressDialog.show();
// progressDialog.setMessage(getActivity().getString(R.string.loading));
+ progressDialog = new ProgressDialog(getContext());
+ intRecycleView();
//getGankList(ApiConfig.GETHOMEBANNER,new HashMap(),getString(R.string.loading),0);
- mDataBinding.taobaoRefreshLayout.setOnRefreshListener(onrefalshlister);
+ mDataBinding.taobaoRefreshLayout.setOnRefreshLoadMoreListener(onrefalshlister);
// mDataBinding.taobaoRefreshLayout.postDelayed(new Runnable() {
// @Override
// public void run() {
@@ -270,7 +293,7 @@ public class MainFragment extends BaseFragment implements V
mDataBinding.entrancegurd.setOnClickListener(this);
mDataBinding.cargara.setOnClickListener(this);
mDataBinding.moew1.setOnClickListener(this);
- mDataBinding.moew2.setOnClickListener(this);
+ //mDataBinding.moew2.setOnClickListener(this);
View banner = mDataBinding.l3;
LinearLayout.LayoutParams bannerLP = (LinearLayout.LayoutParams) banner.getLayoutParams();
bannerLP.width = ScreenUtils.getScreenWidth();
@@ -315,6 +338,23 @@ public class MainFragment extends BaseFragment implements V
}
});
+
+ MainTabActivity activity = (MainTabActivity) getActivity();
+ activity.registerMyOnTouchListener(this);
+ RegisterUser user =
+ Config.getInstance(getActivity()).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Advert");
+ map.put("class", "Advertr_an_AdvertHomeList");
+ map.put("sign", Md5.md5("Advert" + "Advertr_an_AdvertHomeList" + Md5.secret));
+ getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.requsting), 0, false);
+
+
}
// TODO: Rename method, update argument and hook method into UI event
@@ -330,8 +370,8 @@ public class MainFragment extends BaseFragment implements V
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
- throw new RuntimeException(context.toString()
- + " must implement OnFragmentInteractionListener");
+// throw new RuntimeException(context.toString()
+// + " must implement OnFragmentInteractionListener");
}
}
@@ -372,7 +412,7 @@ public class MainFragment extends BaseFragment implements V
startActivity(intent);
break;
case R.id.cargara://车库
- Toast.makeText(getContext(),"功能正在开发",Toast.LENGTH_SHORT).show();
+ Toast.makeText(getContext(), "功能正在开发", Toast.LENGTH_SHORT).show();
// if ((Config.getInstance(MainFragment.this.getContext()).getUser() == null)) {
// intent = new Intent(MainFragment.this.getContext(), LoginActivity.class);
// } else {
@@ -384,14 +424,14 @@ public class MainFragment extends BaseFragment implements V
intent = new Intent(getActivity(), MyMarketShopActivity.class);
startActivity(intent);
break;
- case R.id.moew2:
- if ((Config.getInstance(MainFragment.this.getContext()).getUser() == null)) {
- intent = new Intent(MainFragment.this.getContext(), LoginActivity.class);
- } else {
- intent = new Intent(getActivity(), NewlistActivity.class);
- }
- startActivity(intent);
- break;
+// case R.id.moew2:
+// if ((Config.getInstance(MainFragment.this.getContext()).getUser() == null)) {
+// intent = new Intent(MainFragment.this.getContext(), LoginActivity.class);
+// } else {
+// intent = new Intent(getActivity(), NewlistActivity.class);
+// }
+// startActivity(intent);
+// break;
}
}
@@ -453,93 +493,531 @@ public class MainFragment extends BaseFragment implements V
TextPaint tp = mDataBinding.usershoptextid.getPaint();
tp.setFakeBoldText(true);
- TextPaint tp1 = mDataBinding.userommunitybutextid.getPaint();
- tp1.setFakeBoldText(true);
+ // TextPaint tp1 = mDataBinding.userommunitybutextid.getPaint();
+ // tp1.setFakeBoldText(true);
}
+ private int currentKeyboardH;
+ private int editTextBodyHeight;
- public void intRecycleHorization(final ArrayList advertorial_list) {
+ public void updateEditTextBodyVisible(int visibility) {
+ mDataBinding.llComment.setVisibility(visibility);
+ if (View.VISIBLE == visibility) {
+ mDataBinding.llComment.requestFocus();
+ //弹出键盘
+ CommonUtils.showSoftInput(mDataBinding.etComment.getContext(), mDataBinding.etComment);
- FullyGridLayoutManager mgr = new FullyGridLayoutManager(getActivity(), 1);
- mgr.setOrientation(FullyGridLayoutManager.HORIZONTAL);
- mgr.setSmoothScrollbarEnabled(true);
- mDataBinding.fragmentRecyclerviewHorization.setLayoutManager(mgr);
- baseRecycleViewAdapterh = new BaseRecycleViewAdapter(getActivity(), R.layout.fragment_recyclerview_horization_item);
+ } else if (View.GONE == visibility) {
+ //隐藏键盘
+ MainTabActivity activity = (MainTabActivity) getActivity();
+ activity.visibilyBottom(View.VISIBLE);
+ CommonUtils.hideSoftInput(mDataBinding.etComment.getContext(), mDataBinding.etComment);
+ }
+ }
- baseRecycleViewAdapterh.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+ private void setViewTreeObserver() {
+ final ViewTreeObserver swipeRefreshLayoutVTO = mDataBinding.myl1.getViewTreeObserver();
+ swipeRefreshLayoutVTO.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
- public void onBindViewHolder(Object b, final int position) {
- FragmentRecyclerviewHorizationItemBinding homeGridAdapterItemBinding = (FragmentRecyclerviewHorizationItemBinding) b;
- homeGridAdapterItemBinding.setMyentity(advertorial_list.get(position));
- if (advertorial_list.get(position).getAdvertorial_picture_array().size() > 0) {
- Picasso.with(getActivity()).load(advertorial_list.get(position).getAdvertorial_picture_array().get(0))
- .placeholder(R.mipmap.icon_default_rectangle)
- .transform(new PicassoRoundTransform())
- .into(homeGridAdapterItemBinding.imageView);
+ public void onGlobalLayout() {
+ Rect r = new Rect();
+ mDataBinding.myl1.getWindowVisibleDisplayFrame(r);
+ int statusBarH = ImmersionBar.getStatusBarHeight(getActivity());//状态栏高度
+ int screenH = mDataBinding.myl1.getRootView().getHeight();
+ if (r.top != statusBarH) {
+ //r.top代表的是状态栏高度,在沉浸式状态栏时r.top=0,通过getStatusBarHeight获取状态栏高度
+ r.top = statusBarH;
}
- homeGridAdapterItemBinding.fragmentRecyclerviewHorizationItem.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent = new Intent(getActivity(), NewsDetailActivity.class);
- intent.putExtra("url", advertorial_list.get(position).getAdvertorial_url());
- intent.putExtra("titile", advertorial_list.get(position).getAdvertorial_title());
- startActivity(intent);
- /* Intent intent=new Intent(getActivity(),CommodityActivity.class);
- intent.putExtra("homegridentity",advertorial_list.get(position));
- startActivity(intent);*/
- }
- });
+ int keyboardH = screenH - (r.bottom - r.top);
+ if (keyboardH == currentKeyboardH) {//有变化时才处理,否则会陷入死循环
+ return;
+ }
+ currentKeyboardH = keyboardH;
+ editTextBodyHeight = mDataBinding.llComment.getHeight();
+ if (keyboardH < 150) {//说明是隐藏键盘的情况
+ updateEditTextBodyVisible(View.GONE);
+ return;
+ }
}
});
-
- mDataBinding.fragmentRecyclerviewHorization.setAdapter(baseRecycleViewAdapterh);
- baseRecycleViewAdapterh.setData(advertorial_list);
-
-
}
- private void intRecycleVerization(final ArrayList message_list) {
- mDataBinding.myversion.setVisibility(View.VISIBLE);
- FullyGridLayoutManager mgr = new FullyGridLayoutManager(getActivity(), 1);
- mgr.setOrientation(FullyGridLayoutManager.VERTICAL);
- mgr.setSmoothScrollbarEnabled(true);
- mDataBinding.recyView.setLayoutManager(mgr);
- baseRecycleViewAdapterv = new BaseRecycleViewAdapter(getActivity(), R.layout.fragment_recyclerview_vorization_item);
+ private void getlist(int mypage) {
+ RegisterUser user =
+ Config.getInstance(getContext()).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Goods");
+ map.put("type", "1");
+ map.put("class", "IndexGoodsLists");
+ map.put("page", mypage + "");
+ map.put("sign", Md5.md5("Goods" + "IndexGoodsLists" + Md5.secret));
+ getGankList2(ApiConfig.BASE_URL, map, getResources().getString(R.string.requsting), mypage);
+ }
- baseRecycleViewAdapterv.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+ /**
+ * 获取控件左上顶点Y坐标
+ *
+ * @param view
+ * @return
+ */
+ private int getCoordinateY(View view) {
+ int[] coordinate = new int[2];
+ view.getLocationOnScreen(coordinate);
+ return coordinate[1];
+ }
+
+ private void intRecycleView() {
+ mDataBinding.tvSendComment.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setViewTreeObserver();
+ }
+ });
+ mDataBinding.scrollViewExtend.setOnTouchListener(new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ if (mDataBinding.llComment.getVisibility() == View.VISIBLE) {
+ updateEditTextBodyVisible(View.GONE);
+ return true;
+ }
+ return false;
+ }
+ });
+ LinearLayoutManager linearLayoutManager = new LinearLayoutManager(baseActivity);
+ mDataBinding.recyView.setNestedScrollingEnabled(false);//禁止rcyc嵌套滑动
+ mDataBinding.recyView.setLayoutManager(linearLayoutManager);
+ BaseRecycleViewAdapter baseRecycleViewAdapter = new BaseRecycleViewAdapter(getActivity(), R.layout.item_discovery);
+ baseRecycleViewAdapter.setHasStableIds(true);
+
+ discoveryListEntities = new ArrayList<>();
+ baseRecycleViewAdapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
@Override
public void onBindViewHolder(Object b, final int position) {
- if (!(position >= message_list.size())) {
- FragmentRecyclerviewVorizationItemBinding homeGridAdapterItemBinding = (FragmentRecyclerviewVorizationItemBinding) b;
- homeGridAdapterItemBinding.setMyentity(message_list.get(position));
+ if (!(position >= discoveryListEntities.size())) {
+ final ItemDiscoveryBinding homeGridAdapterItemBinding = (ItemDiscoveryBinding) b;
+ // homeGridAdapterItemBinding.setMyentity(discoveryListEntities.get(position));
+ final DiscoveryListEntity discoveryListEntity = discoveryListEntities.get(position);
+ homeGridAdapterItemBinding.tvNikeName.setText(discoveryListEntity.getNickname());
+ homeGridAdapterItemBinding.tvContent.setText(discoveryListEntity.getGoods_detail());
- Picasso.with(getActivity()).load(message_list.get(position).getMessage_picture())
- .placeholder(R.mipmap.icon_default_rectangle)
- .transform(new PicassoRoundTransform())
- .into(homeGridAdapterItemBinding.imageView);
- homeGridAdapterItemBinding.fragmentRecyclerviewVorizationItem.setOnClickListener(new View.OnClickListener() {
+// Picasso.with(getActivity()).load(discoveryListEntity.getAvatar())
+// .placeholder(R.mipmap.icon_default_rectangle)
+// .transform(new PicassoRoundTransform())
+// .into(homeGridAdapterItemBinding.imageHead);
+ mDataBinding.tvSendComment.setOnClickListener(new View.OnClickListener() {
@Override
- public void onClick(View view) {
+ public void onClick(View v) {
+
+ MainTabActivity activity = (MainTabActivity) getActivity();
+ CommonUtils.hideSoftInput(getContext(), mDataBinding.etComment);
+ mDataBinding.llComment.setVisibility(View.GONE);
+ activity.visibilyBottom(View.VISIBLE);
+ comment(discoveryListEntity.getGoods_id(), position, "", mDataBinding.etComment.getText().toString());
+ }
+ });
+ homeGridAdapterItemBinding.ivComment.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(final View v) {
+ final CommentDialog commentDialog = new CommentDialog(baseActivity);
+ commentDialog.setShowBug(discoveryListEntity.getType() == 2);
+ commentDialog.setPraise(discoveryListEntity.getIs_like() == 1);
+ final int mBottomY = getCoordinateY(homeGridAdapterItemBinding.ivComment) + homeGridAdapterItemBinding.ivComment.getHeight();
+ commentDialog.setOnCommentOperateListener(new CommentDialog.OnCommentOperateListener() {
+ @Override
+ public void click(int type) {
+
+ if (type == 1 || type == 2) {
+ //点赞/取消
+ commentDialog.dismiss();
+ like(discoveryListEntity.getGoods_id(), position);
+ } else if (type == 3) {
+ mDataBinding.llComment.setVisibility(View.VISIBLE);
+ mDataBinding.etComment.requestFocus();
+ mDataBinding.etComment.setHint("评论");
+ MainTabActivity activity = (MainTabActivity) getActivity();
+ KeyboardUtil.showSoftInput(getContext());
+ activity.visibilyBottom(View.GONE);
+
+ 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);
- Intent intent = new Intent(getActivity(), NewsDetailActivity.class);
- intent.putExtra("url", message_list.get(position).getMessage_url());
- intent.putExtra("titile", message_list.get(position).getMessage_title());
+ } else if (type == 4) {
+ // addCart(discoveryListEntity.getGoods_id(),discoveryListEntity.)
+ getGoodsDetail(discoveryListEntity.getGoods_id(), discoveryListEntity, type);
+ commentDialog.dismiss();
+
+ } else if (type == 5) {
+ getGoodsDetail(discoveryListEntity.getGoods_id(), discoveryListEntity, type);
+ commentDialog.dismiss();
+ }
+ }
+ });
+ new XPopup.Builder(baseActivity).hasShadowBg(false).atView(homeGridAdapterItemBinding.ivComment).asCustom(commentDialog)
+ .show();
+
+ }
+ });
+
+
+ if (discoveryListEntity.getLike().isEmpty()) {
+ homeGridAdapterItemBinding.tvLike.setVisibility(View.GONE);
+ } else {
+ homeGridAdapterItemBinding.tvLike.setVisibility(View.VISIBLE);
+ StringBuilder likeString = new StringBuilder();
+ for (int i = 0; i < discoveryListEntity.getLike().size(); i++) {
+ if (i == 0) {
+ likeString.append("❤");
+
+ } else {
+ likeString.append(",");
+ }
+ likeString.append(discoveryListEntity.getLike().get(i).getNickname());
+ }
+ homeGridAdapterItemBinding.tvLike.setText(likeString.toString());
+
+ homeGridAdapterItemBinding.tvTime.setText(DateUtils.getDate(discoveryListEntity.getCtime()));
+
+ }
+ if (discoveryListEntity.getDis_content().isEmpty()) {
+ homeGridAdapterItemBinding.rvComment.setVisibility(View.GONE);
+ } else {
+ homeGridAdapterItemBinding.rvComment.setVisibility(View.VISIBLE);
+ FullyGridLayoutManager mgr = new FullyGridLayoutManager(getActivity(), 1);
+ mgr.setOrientation(FullyGridLayoutManager.VERTICAL);
+ mgr.setSmoothScrollbarEnabled(true);
+ homeGridAdapterItemBinding.rvComment.setLayoutManager(mgr);
+ BaseRecycleViewAdapter baseRecycleViewAdapter = new BaseRecycleViewAdapter(getActivity(), R.layout.item_comment);
+ homeGridAdapterItemBinding.rvComment.setAdapter(baseRecycleViewAdapter);
+ final ArrayList dis_content = discoveryListEntity.getDis_content();
+ baseRecycleViewAdapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+ @Override
+ public void onBindViewHolder(Object b, int position) {
+ 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()) {
+ itemCommentBinding.llHf.setVisibility(View.GONE);
+
+ } else {
+ itemCommentBinding.llHf.setVisibility(View.VISIBLE);
+ itemCommentBinding.tvName2.setText(discoveryListEntity.getNickname());
+ itemCommentBinding.tvInfo2.setText("回复");
+ itemCommentBinding.tvName3.setText(dis_content.get(position).getNickname() + ":");
+ itemCommentBinding.tvInfo3.setText(dis_content.get(position).getReply());
+
+ }
+ }
+ });
+ baseRecycleViewAdapter.setData(dis_content);
+
+ }
+
+
+ RequestOptions requestOptions = new RequestOptions();
+ requestOptions.placeholder(R.mipmap.icon_default_rectangle);
+ requestOptions.error(R.mipmap.icon_default_rectangle);
+
+ Glide.with(getContext()).load(discoveryListEntity.getAvatar())
+ .apply(requestOptions)
+ .into(homeGridAdapterItemBinding.imageHead);
+ homeGridAdapterItemBinding.imageHead.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(getContext(), HistoryRecordActivity.class);
+ intent.putExtra("userId", discoveryListEntity.getUserid());
+ intent.putExtra("userName", discoveryListEntity.getNickname());
startActivity(intent);
}
});
+ ArrayList imageInfos = new ArrayList<>();
+
+ if (discoveryListEntity.getPic().size() > 0) {
+
+ // Log.e("pic", discoveryListEntity.getPic().get(0));
+ for (int i = 0; i < discoveryListEntity.getPic().size(); i++) {
+ if (discoveryListEntity.getPic().get(i).endsWith(".mp4") || discoveryListEntity.getPic().get(i).endsWith(".avi")) {
+ ImageInfo imageInfo = new ImageInfo();
+ imageInfo.setType(2);
+ imageInfo.setBigImageUrl(discoveryListEntity.getPic().get(i));
+ imageInfo.setThumbnailUrl(discoveryListEntity.getPic().get(i));
+ imageInfos.add(imageInfo);
+ } else {
+ ImageInfo imageInfo = new ImageInfo();
+ imageInfo.setType(1);
+ imageInfo.setBigImageUrl(discoveryListEntity.getPic().get(i));
+ imageInfo.setThumbnailUrl(discoveryListEntity.getPic().get(i));
+ imageInfos.add(imageInfo);
+ }
+
+ }
+
+ } else {
+ ImageInfo imageInfo = new ImageInfo();
+ imageInfo.setType(1);
+ imageInfo.setBigImageUrl(discoveryListEntity.getThumb());
+ imageInfo.setThumbnailUrl(discoveryListEntity.getThumb());
+ imageInfos.add(imageInfo);
+ }
+ homeGridAdapterItemBinding.nineGrid.setAdapter(new NineGridViewClickAdapter(getContext(), imageInfos));
+ }
+ }
+ });
+ mDataBinding.recyView.setAdapter(baseRecycleViewAdapter);
+
+ baseRecycleViewAdapter.setData(discoveryListEntities);
+ }
+
+ @Override
+ public boolean onTouch(MotionEvent ev) {
+ switch (ev.getAction()) {
+
+ case MotionEvent.ACTION_DOWN:
+ //点击空白处隐藏键盘,隐藏输入框相关
+ if (getActivity().getCurrentFocus() != null && getActivity().getCurrentFocus().getId() == R.id.tv_send_comment) {
+ return false;
+ }
+ boolean b = UtilHelpers.hideKeyboard(ev, getActivity().getCurrentFocus(), getActivity());
+ if (b) {
+ CommonUtils.hideSoftInput(mDataBinding.etComment.getContext(), mDataBinding.etComment);
+ MainTabActivity activity = (MainTabActivity) getActivity();
+ activity.visibilyBottom(View.VISIBLE);
+ mDataBinding.llComment.setVisibility(View.GONE);
+ }
+ break;
+ }
+ return false;
+ }
+
+ private void getGoodsDetail(final String goodsId, final DiscoveryListEntity entity, final int goodtype) {
+ final RegisterUser user =
+ Config.getInstance(getContext()).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Goods");
+ map.put("class", "GoodsInfo");
+ map.put("goods_id", goodsId);
+ map.put("sign", Md5.md5("Goods" + "GoodsInfo" + Md5.secret));
+ progressDialog.setMessage("获取信息中");
+ progressDialog.setCancelable(false);
+ mGankLoader = new Loader();
+ Subscription subscription = mGankLoader.getMovie(ApiConfig.BASE_URL, map)
+ .subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ if (resultcode.status == 0) {
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+
+ try {
+
+ JSONObject jsonObject = new JSONObject(s);
+ org.json.JSONArray array = jsonObject.getJSONArray("info");
+ final Type type = new TypeToken>() {
+ }.getType();
+ ArrayList o = gs.fromJson(array.toString(), type);
+
+ GoodsInfoDialog goodsInfoDialog = new GoodsInfoDialog(baseActivity, entity, o);
+ goodsInfoDialog.setOnConfirmListener(new GoodsInfoDialog.OnGoodsSelectPropertyListener() {
+ @Override
+ public void onSelect(String code, int num) {
+ if (goodtype == 4) {
+ Intent intent = new Intent(baseActivity, SettleActivity.class);
+ intent.putExtra("goodsType", 1);
+ intent.putExtra("goods_id", goodsId);
+ intent.putExtra("product_code", code);
+ intent.putExtra("sale_num", num + "");
+ startActivity(intent);
+ } else if (goodtype == 5) {
+ addCart(goodsId, code, num + "");
+ }
+
+ }
+ });
+ new XPopup.Builder(baseActivity).asCustom(goodsInfoDialog).show();
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ baseActivity.setToast(resultcode.msg);
+ }
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ baseActivity.setToast(2, "获取信息失败");
+ throwable.printStackTrace();
+ }
+ });
+ baseActivity.addSubscription(subscription);
+ }
+
+ private void comment(String goodsId, final int position, String reply_id, final String content) {
+ final RegisterUser user =
+ Config.getInstance(getContext()).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Goods");
+ map.put("class", "DisGoods");
+ map.put("goods_id", goodsId);
+ if (!TextUtils.isEmpty(reply_id)) {
+ map.put("reply_id", reply_id);
+ }
+
+ map.put("contents", content);
+ map.put("sign", Md5.md5("Goods" + "DisGoods" + Md5.secret));
+ progressDialog.setMessage("提交中");
+ progressDialog.setCancelable(false);
+// progressDialog.show();
+
+ mGankLoader = new Loader();
+ Subscription subscription = mGankLoader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+
+
+ @Override
+ public void call(Resultcode resultcode) {
+
+ progressDialog.dismiss();
+ if (!(resultcode.status == 0)) {
+ baseActivity.setToast(1, resultcode.msg);
+ }
+ if (resultcode.status == 0) {
+
+// BaseRecycleViewAdapter adapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
+// if (discoveryListEntities.get(position).getDis_content().isEmpty()) {
+// DiscoveryListEntity.Dis_content dis_content = new DiscoveryListEntity.Dis_content();
+// dis_content.setContents(content);
+//
+// }
+//
+// adapter.upDateOne(position, discoveryListEntities.get(position));
}
}
+
+
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ baseActivity.setToast(2, "提交失败");
+ throwable.printStackTrace();
+ }
});
- mDataBinding.recyView.setAdapter(baseRecycleViewAdapterv);
- baseRecycleViewAdapterv.setData(message_list);
+ baseActivity.addSubscription(subscription);
}
+// public void intRecycleHorization(final ArrayList advertorial_list) {
+//
+// FullyGridLayoutManager mgr = new FullyGridLayoutManager(getActivity(), 1);
+// mgr.setOrientation(FullyGridLayoutManager.HORIZONTAL);
+// mgr.setSmoothScrollbarEnabled(true);
+// // mDataBinding.fragmentRecyclerviewHorization.setLayoutManager(mgr);
+// baseRecycleViewAdapterh = new BaseRecycleViewAdapter(getActivity(), R.layout.fragment_recyclerview_horization_item);
+//
+// baseRecycleViewAdapterh.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+// @Override
+// public void onBindViewHolder(Object b, final int position) {
+// FragmentRecyclerviewHorizationItemBinding homeGridAdapterItemBinding = (FragmentRecyclerviewHorizationItemBinding) b;
+// homeGridAdapterItemBinding.setMyentity(advertorial_list.get(position));
+// if (advertorial_list.get(position).getAdvertorial_picture_array().size() > 0) {
+// Picasso.with(getActivity()).load(advertorial_list.get(position).getAdvertorial_picture_array().get(0))
+// .placeholder(R.mipmap.icon_default_rectangle)
+// .transform(new PicassoRoundTransform())
+// .into(homeGridAdapterItemBinding.imageView);
+// }
+// homeGridAdapterItemBinding.fragmentRecyclerviewHorizationItem.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View view) {
+// Intent intent = new Intent(getActivity(), NewsDetailActivity.class);
+// intent.putExtra("url", advertorial_list.get(position).getAdvertorial_url());
+// intent.putExtra("titile", advertorial_list.get(position).getAdvertorial_title());
+// startActivity(intent);
+// /* Intent intent=new Intent(getActivity(),CommodityActivity.class);
+// intent.putExtra("homegridentity",advertorial_list.get(position));
+// startActivity(intent);*/
+// }
+// });
+//
+// }
+// });
+//
+// mDataBinding.fragmentRecyclerviewHorization.setAdapter(baseRecycleViewAdapterh);
+// baseRecycleViewAdapterh.setData(advertorial_list);
+//
+//
+// }
+
+// private void intRecycleVerization(final ArrayList message_list) {
+// mDataBinding.myversion.setVisibility(View.VISIBLE);
+// FullyGridLayoutManager mgr = new FullyGridLayoutManager(getActivity(), 1);
+// mgr.setOrientation(FullyGridLayoutManager.VERTICAL);
+// mgr.setSmoothScrollbarEnabled(true);
+// mDataBinding.recyView.setLayoutManager(mgr);
+// baseRecycleViewAdapterv = new BaseRecycleViewAdapter(getActivity(), R.layout.fragment_recyclerview_vorization_item);
+//
+// baseRecycleViewAdapterv.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+// @Override
+// public void onBindViewHolder(Object b, final int position) {
+// if (!(position >= message_list.size())) {
+// FragmentRecyclerviewVorizationItemBinding homeGridAdapterItemBinding = (FragmentRecyclerviewVorizationItemBinding) b;
+// homeGridAdapterItemBinding.setMyentity(message_list.get(position));
+//
+// Picasso.with(getActivity()).load(message_list.get(position).getMessage_picture())
+// .placeholder(R.mipmap.icon_default_rectangle)
+// .transform(new PicassoRoundTransform())
+// .into(homeGridAdapterItemBinding.imageView);
+// homeGridAdapterItemBinding.fragmentRecyclerviewVorizationItem.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View view) {
+//
+//
+// Intent intent = new Intent(getActivity(), NewsDetailActivity.class);
+// intent.putExtra("url", message_list.get(position).getMessage_url());
+// intent.putExtra("titile", message_list.get(position).getMessage_title());
+// startActivity(intent);
+// }
+// });
+// }
+//
+// }
+// });
+//
+// mDataBinding.recyView.setAdapter(baseRecycleViewAdapterv);
+// baseRecycleViewAdapterv.setData(message_list);
+//
+// }
+
//如果你需要考虑更好的体验,可以这么操作
@Override
@@ -555,36 +1033,108 @@ public class MainFragment extends BaseFragment implements V
//结束轮播
mDataBinding.banner.stopAutoPlay();
}
+ private int page = 1;
+ private OnRefreshLoadMoreListener onrefalshlister = new OnRefreshLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ page = 1;
+ getlist(page);
+ }
- private OnRefreshListener onrefalshlister = new OnRefreshListener() {
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- RegisterUser user =
- Config.getInstance(getActivity()).getUser();
- Map map = new HashMap<>();
- if (user != null) {
- map.put("userid", user.getUserid());
- } else {
- map.put("userid", 0 + "");
- }
- map.put("app", "Advert");
- map.put("class", "Advertr_an_AdvertHomeList");
- map.put("sign", Md5.md5("Advert" + "Advertr_an_AdvertHomeList" + Md5.secret));
- getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.requsting), 0, false);
+ getlist(1);
}
- };
+ };
+ private void getGankList2(String myurl, Map map, String msg, final int requstecode) {
+ progressDialog.setMessage(msg);
+ progressDialog.setCancelable(false);
+// if (page>1){
+// progressDialog.show();
+// }
+
+
+ mGankLoader = new Loader();
+ Subscription subscription = mGankLoader.getMovie(myurl, map).subscribe(new Action1() {
+
+
+ @Override
+ public void call(Resultcode resultcode) {
+
+ mDataBinding.taobaoRefreshLayout.finishRefresh();
+ mDataBinding.taobaoRefreshLayout.finishLoadMore();
+ progressDialog.dismiss();
+ if (!(resultcode.status == 0)) {
+ baseActivity.setToast(1, resultcode.msg);
+ }
+ if (resultcode.status == 0) {
+ // intRecycleView();
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+ try {
+ JSONObject jsonObject = new JSONObject(s);
+ org.json.JSONArray array = jsonObject.getJSONArray("info");
+ Type type = new TypeToken>() {
+ }.getType();
+ ArrayList o = new Gson().fromJson(array.toString(), type);
+ if (page == 1) {
+
+ discoveryListEntities.clear();
+ discoveryListEntities.addAll(o);
+ BaseRecycleViewAdapter baseRecycleViewAdapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
+ baseRecycleViewAdapter.setData(discoveryListEntities);
+ page++;
+ } else {
+ discoveryListEntities.addAll(o);
+
+ BaseRecycleViewAdapter baseRecycleViewAdapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
+ baseRecycleViewAdapter.setData(discoveryListEntities);
+ // Log.e("sizi", discoveryListEntities.size() + "");
+ // int count = jsonObject.getInt("count");
+ if (o.isEmpty()) {
+ mDataBinding.taobaoRefreshLayout.finishLoadMoreWithNoMoreData();
+ } else {
+
+ page++;
+
+ }
+ }
+
+
+ } catch (Exception e) {
+ e.fillInStackTrace();
+ }
+ }
+
+ }
+
+
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ mDataBinding.taobaoRefreshLayout.finishRefresh();
+ mDataBinding.taobaoRefreshLayout.finishLoadMore();
+ baseActivity.setToast(2, getString(R.string.getdatafailure));
+ throwable.printStackTrace();
+ }
+ });
+
+ baseActivity.addSubscription(subscription);
+ }
private void getGankList(String myurl, Map map, String msg, final int requstecode, final boolean isshowdilaog) {
mGankLoader = new Loader();
Subscription subscription = mGankLoader.getMovie(myurl, map).subscribe(new Action1() {
@Override
public void call(Resultcode resultcode) {
- mDataBinding.taobaoRefreshLayout.finishRefresh();
+ // mDataBinding.taobaoRefreshLayout.finishRefresh();
if (!(resultcode.status == 0)) {
baseActivity.setToast(1, resultcode.msg);
}
@@ -596,8 +1146,8 @@ public class MainFragment extends BaseFragment implements V
String s = gs.toJson(adta);
MainF1Entity user = gs.fromJson(s, MainF1Entity.class);//把JSON字符串转为对象
configFragments(user.getAdvert_carousel());
- intRecycleHorization(user.getAdvertorial_list());
- intRecycleVerization(user.getMessage_list());
+ //intRecycleHorization(user.getAdvertorial_list());
+ // intRecycleVerization(user.getMessage_list());
}
}
@@ -608,7 +1158,7 @@ public class MainFragment extends BaseFragment implements V
}, new Action1() {
@Override
public void call(Throwable throwable) {
- mDataBinding.taobaoRefreshLayout.finishRefresh();
+ // mDataBinding.taobaoRefreshLayout.finishRefresh();
baseActivity.setToast(2, getString(R.string.getdatafailure));
throwable.printStackTrace();
}
@@ -617,5 +1167,109 @@ public class MainFragment extends BaseFragment implements V
baseActivity.addSubscription(subscription);
}
+ private void like(String goodsId, final int position) {
+ final RegisterUser user =
+ Config.getInstance(getContext()).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Goods");
+ map.put("class", "AddUp");
+ map.put("goods_id", goodsId);
+ map.put("sign", Md5.md5("Goods" + "AddUp" + Md5.secret));
+ progressDialog.setMessage("提交中");
+ progressDialog.setCancelable(false);
+// progressDialog.show();
+ mGankLoader = new Loader();
+ Subscription subscription = mGankLoader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+
+
+ @Override
+ public void call(Resultcode resultcode) {
+
+ progressDialog.dismiss();
+ if (!(resultcode.status == 0)) {
+ baseActivity.setToast(1, resultcode.msg);
+ }
+ if (resultcode.status == 0) {
+ BaseRecycleViewAdapter adapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
+ if (discoveryListEntities.get(position).getIs_like() == 1) {
+ discoveryListEntities.get(position).setIs_like(0);
+ ArrayList like = discoveryListEntities.get(position).getLike();
+ for (int i = 0; i < like.size(); i++) {
+ if (user.getUserid().equals(like.get(i).getUserid())) {
+ like.remove(i);
+ break;
+ }
+ }
+ discoveryListEntities.get(position).setLike(like);
+ } else {
+ discoveryListEntities.get(position).setIs_like(1);
+ DiscoveryListEntity.Like like = new DiscoveryListEntity.Like();
+ like.setNickname(user.getNickname());
+ like.setUserid(user.getUserid());
+ discoveryListEntities.get(position).getLike().add(like);
+ }
+
+ adapter.upDateOne(position, discoveryListEntities.get(position));
+ }
+
+ }
+
+
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ baseActivity.setToast(2, "提交失败");
+ throwable.printStackTrace();
+ }
+ });
+
+ baseActivity.addSubscription(subscription);
+
+ }
+
+ private void addCart(String goods_id, String product_code, String goodsNum) {
+ RegisterUser user =
+ Config.getInstance(getContext()).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Goods");
+ map.put("class", "AddCart");
+ map.put("goods_id", goods_id);
+ map.put("product_code", product_code);
+ map.put("num", goodsNum);
+ map.put("sign", Md5.md5("Goods" + "AddCart" + Md5.secret));
+ progressDialog.setMessage("提交中");
+ progressDialog.setCancelable(false);
+ mGankLoader = new Loader();
+ Subscription subscribe = mGankLoader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ if (resultcode.status == 0) {
+ baseActivity.setToast(0, "成功加入购物车");
+ } else {
+ baseActivity.setToast(3, resultcode.msg);
+ }
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ baseActivity.setToast(2, "提交失败");
+ throwable.printStackTrace();
+ }
+ });
+ baseActivity.addSubscription(subscribe);
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/sl/house_property/MainTabActivity.java b/app/src/main/java/com/sl/house_property/MainTabActivity.java
index de21d90..67983de 100644
--- a/app/src/main/java/com/sl/house_property/MainTabActivity.java
+++ b/app/src/main/java/com/sl/house_property/MainTabActivity.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
import tools.Config;
public class MainTabActivity extends BaseActivity
- implements View.OnClickListener, MainFragment.OnFragmentInteractionListener,
+ implements View.OnClickListener,
Main1Fragment.OnFragmentInteractionListener,
Main2Fragment.OnFragmentInteractionListener,
Main3Fragment.OnFragmentInteractionListener,
diff --git a/app/src/main/java/com/sl/house_property/discovery/GoodsInfoDialog.java b/app/src/main/java/com/sl/house_property/discovery/GoodsInfoDialog.java
index c33d39f..e8ecce5 100644
--- a/app/src/main/java/com/sl/house_property/discovery/GoodsInfoDialog.java
+++ b/app/src/main/java/com/sl/house_property/discovery/GoodsInfoDialog.java
@@ -139,7 +139,7 @@ public class GoodsInfoDialog extends BottomPopupView {
}
- interface OnGoodsSelectPropertyListener {
+ public interface OnGoodsSelectPropertyListener {
void onSelect(String code, int num);
}
}
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
index fed9d66..1336cd9 100644
--- a/app/src/main/res/layout/fragment_main.xml
+++ b/app/src/main/res/layout/fragment_main.xml
@@ -1,265 +1,255 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto">
-
+
- tools:context=".Main1Fragment">
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- >
-
-
-
+ android:layout_height="150dp"
+ android:orientation="vertical">
-
+ app:image_scale_type="center_crop"
+ app:indicator_drawable_selected="@drawable/ic_banner_point"
+ app:indicator_drawable_unselected="@drawable/ic_banner_point_grey"
+ app:indicator_height="6dp"
+ app:indicator_margin="6dp"
+ app:indicator_width="6dp"
+ app:is_auto_play="true"
+ app:title_background="#00000000" />
+
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_margin="10dip"
+ android:text="@string/door"
+ android:textColor="@color/white"
+ android:textSize="15sp" />
+
-
+
-
-
-
-
-
-
- android:layout_marginRight="10dip">
+
-
+
-
+ android:layout_margin="10dip"
+ android:text="@string/carroom"
+ android:textColor="@color/white"
+ android:textSize="15sp" />
-
+
+
-
+
-
+
-
-
+
-
+
+
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
\ No newline at end of file