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 7fe5855..03b511c 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 @@ -24,6 +24,7 @@ import com.lzy.ninegrid.ImageInfo; import com.lzy.ninegrid.preview.NineGridViewClickAdapter; import com.sl.house_property.BaseActivity; import com.sl.house_property.MainFragment; +import com.sl.house_property.MainTabActivity; import com.sl.house_property.R; import com.sl.house_property.databinding.ItemCommentBinding; import com.sl.house_property.databinding.ItemDiscoveryBinding; @@ -140,7 +141,17 @@ public class HistoryRecordActivity extends BaseActivity onTouchListeners = new ArrayList(); + //4.提供给Fragment通过getActivity()方法来注册自己的触摸事件的方法 + public void registerMyOnTouchListener(MainTabActivity.MyOnTouchListener myOnTouchListener) { + onTouchListeners.add(myOnTouchListener); + } + //5.提供给Fragment通过getActivity()方法来注销自己的触摸事件的方法 + public void unregisterMyOnTouchListener(MainTabActivity.MyOnTouchListener myOnTouchListener) { + onTouchListeners.remove(myOnTouchListener); + } class MyViewPagerAdapter extends FragmentPagerAdapter { public MyViewPagerAdapter(FragmentManager fm) { super(fm); 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 index be7a2ee..cbf2ca4 100644 --- a/app/src/main/java/com/sl/house_property/discovery/HistoryRecordFragment.java +++ b/app/src/main/java/com/sl/house_property/discovery/HistoryRecordFragment.java @@ -1,15 +1,21 @@ package com.sl.house_property.discovery; import android.content.Context; +import android.content.Intent; import android.graphics.Bitmap; +import android.graphics.Rect; 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.text.TextUtils; import android.util.Log; +import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; +import android.view.ViewTreeObserver; import android.widget.Toast; import com.bumptech.glide.Glide; @@ -17,19 +23,23 @@ 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.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.OnRefreshLoadMoreListener; import com.sl.house_property.BaseFragment; +import com.sl.house_property.MainTabActivity; 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.sl.house_property.order.SettleActivity; import com.squareup.picasso.Picasso; import com.squareup.picasso.Target; +import org.json.JSONException; import org.json.JSONObject; import java.lang.reflect.Type; @@ -39,6 +49,7 @@ import java.util.Map; import adapter.BaseRecycleViewAdapter; import entity.DiscoveryListEntity; +import entity.GoodsDetailEntity; import entity.RegisterUser; import http.ApiConfig; import my_loader.Loader; @@ -49,10 +60,13 @@ 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; -public class HistoryRecordFragment extends BaseFragment { +public class HistoryRecordFragment extends BaseFragment implements MainTabActivity.MyOnTouchListener { private Context context; private int type = 2; private int page = 1; @@ -79,6 +93,19 @@ public class HistoryRecordFragment extends BaseFragment 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(); + + Loader 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)) { + Toast.makeText(getContext(), resultcode.msg, Toast.LENGTH_SHORT).show(); + } + if (resultcode.status == 0) { + + BaseRecycleViewAdapter adapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter(); + DiscoveryListEntity.Dis_content dis_content = new DiscoveryListEntity.Dis_content(); + LinkedTreeMap adta = (LinkedTreeMap) resultcode.data; + dis_content.setContents(adta.get("contents").toString()); + // dis_content.set(adta.get("goods_id").toString()); + + + adapter.upDateOne(position, discoveryListEntities.get(position)); + } + + } + + + }, new Action1() { + @Override + public void call(Throwable throwable) { + progressDialog.dismiss(); + Toast.makeText(getContext(), "提交失败", Toast.LENGTH_SHORT).show(); + throwable.printStackTrace(); + } + }); + + + } + + 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); + Loader 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(getContext(), entity, o); + goodsInfoDialog.setOnConfirmListener(new GoodsInfoDialog.OnGoodsSelectPropertyListener() { + @Override + public void onSelect(String code, int num) { + if (goodtype == 4) { + Intent intent = new Intent(getContext(), 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(getContext()).asCustom(goodsInfoDialog).show(); + + } catch (JSONException e) { + e.printStackTrace(); + } + + } else { + // .setToast(resultcode.msg); + Toast.makeText(getContext(), resultcode.msg, Toast.LENGTH_SHORT).show(); + } + } + }, new Action1() { + @Override + public void call(Throwable throwable) { + progressDialog.dismiss(); + Toast.makeText(getContext(), "获取信息失败", Toast.LENGTH_SHORT).show(); + throwable.printStackTrace(); + } + }); + + } + + 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); + Loader 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) { + Toast.makeText(getContext(), "成功加入购物车", Toast.LENGTH_SHORT).show(); +// baseActivity.setToast(0, "成功加入购物车"); + } else { + Toast.makeText(getContext(), resultcode.msg, Toast.LENGTH_SHORT).show(); + } + } + }, new Action1() { + @Override + public void call(Throwable throwable) { + progressDialog.dismiss(); + Toast.makeText(getContext(), "提交失败", Toast.LENGTH_SHORT).show(); + throwable.printStackTrace(); + } + }); + + } + private void like(String goodsId, final int position) { final RegisterUser user = Config.getInstance(getContext()).getUser(); @@ -266,7 +598,7 @@ public class HistoryRecordFragment extends BaseFragment() { @@ -275,7 +607,7 @@ public class HistoryRecordFragment extends BaseFragment { } } + private MainTabActivity.MyOnTouchListener myOnTouchListener; + @Override protected void onCreateVew(LayoutInflater inflater, Bundle savedInstanceState) { super.onCreateVew(inflater, savedInstanceState); @@ -83,6 +86,7 @@ public class LikeFragment extends BaseFragment { } else { userId = "0"; } + fragments.add(HistoryRecordFragment.newInstance(1, userId)); fragments.add(HistoryRecordFragment.newInstance(2, userId)); MyViewPagerAdapter myViewPagerAdapter = new MyViewPagerAdapter(getChildFragmentManager()); diff --git a/app/src/main/java/my_view/CommentDialog.java b/app/src/main/java/my_view/CommentDialog.java index 75d0711..d1965b1 100644 --- a/app/src/main/java/my_view/CommentDialog.java +++ b/app/src/main/java/my_view/CommentDialog.java @@ -60,12 +60,7 @@ public class CommentDialog extends HorizontalAttachPopupView { } }); } - public void setType(){ - findViewById(R.id.tv_comment).setVisibility(View.GONE); - findViewById(R.id.tv_bug).setVisibility(View.GONE); - findViewById(R.id.tv_add).setVisibility(View.GONE); - findViewById(R.id.v).setVisibility(GONE); - } + public void setShowBug(boolean type) { if (type) { diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index c7bd21d..0000000 --- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/layout/dialog_comment.xml b/app/src/main/res/layout/dialog_comment.xml index 1fb3560..3448001 100644 --- a/app/src/main/res/layout/dialog_comment.xml +++ b/app/src/main/res/layout/dialog_comment.xml @@ -64,7 +64,6 @@ android:paddingTop="5dp" android:paddingRight="14dp" android:paddingBottom="5dp" - android:text="购买" android:textColor="@color/white" android:textSize="16sp" /> @@ -80,7 +79,6 @@ android:paddingTop="5dp" android:paddingRight="14dp" android:paddingBottom="5dp" - android:text="购物车" android:textColor="@color/white" android:textSize="16sp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_discovery.xml b/app/src/main/res/layout/fragment_discovery.xml index d1f02f2..050684a 100644 --- a/app/src/main/res/layout/fragment_discovery.xml +++ b/app/src/main/res/layout/fragment_discovery.xml @@ -18,19 +18,19 @@ android:orientation="vertical"> - + > + android:src="@mipmap/xj2" /> - + - - - - + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_discovery.xml b/app/src/main/res/layout/item_discovery.xml index 3961193..2cac3a7 100644 --- a/app/src/main/res/layout/item_discovery.xml +++ b/app/src/main/res/layout/item_discovery.xml @@ -44,8 +44,8 @@ app:ngv_gridSpacing="5dp" app:ngv_maxSize="9" app:ngv_mode="grid" - app:ngv_singleImageRatio="1" - app:ngv_singleImageSize="200dp" /> + app:ngv_singleImageRatio="0.8" + app:ngv_singleImageSize="180dp" /> + android:background="#20Dddddd" /> \ No newline at end of file diff --git a/app/src/main/res/mipmap-xhdpi/xj.png b/app/src/main/res/mipmap-xhdpi/xj.png new file mode 100644 index 0000000..a2c17e1 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/xj.png differ diff --git a/app/src/main/res/mipmap-xhdpi/xj2.png b/app/src/main/res/mipmap-xhdpi/xj2.png new file mode 100644 index 0000000..a2c17e1 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/xj2.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/xj.png b/app/src/main/res/mipmap-xxhdpi/xj.png new file mode 100644 index 0000000..a2c17e1 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/xj.png differ diff --git a/ninegridview/src/main/java/com/lzy/ninegrid/NineGridView.java b/ninegridview/src/main/java/com/lzy/ninegrid/NineGridView.java index 0557dfc..d7f3cfa 100644 --- a/ninegridview/src/main/java/com/lzy/ninegrid/NineGridView.java +++ b/ninegridview/src/main/java/com/lzy/ninegrid/NineGridView.java @@ -22,8 +22,8 @@ public class NineGridView extends ViewGroup { private static ImageLoader mImageLoader; //全局的图片加载器(必须设置,否者不显示图片) - private int singleImageSize = 250; // 单张图片时的最大大小,单位dp - private float singleImageRatio = 1.0f; // 单张图片的宽高比(宽/高) + private int singleImageSize = 220; // 单张图片时的最大大小,单位dp + private float singleImageRatio = 2f; // 单张图片的宽高比(宽/高) private int maxImageSize = 9; // 最大显示的图片数 private int gridSpacing = 3; // 宫格间距,单位dp private int mode = MODE_FILL; // 默认使用fill模式 diff --git a/ninegridview/src/main/java/com/lzy/ninegrid/NineGridViewWrapper.java b/ninegridview/src/main/java/com/lzy/ninegrid/NineGridViewWrapper.java index bad1aa0..1656060 100644 --- a/ninegridview/src/main/java/com/lzy/ninegrid/NineGridViewWrapper.java +++ b/ninegridview/src/main/java/com/lzy/ninegrid/NineGridViewWrapper.java @@ -11,6 +11,7 @@ import android.graphics.drawable.Drawable; import android.support.v4.view.ViewCompat; import android.text.TextPaint; import android.util.AttributeSet; +import android.util.Log; import android.util.TypedValue; import android.view.MotionEvent; import android.widget.ImageView; @@ -59,9 +60,12 @@ public class NineGridViewWrapper extends ImageView { if (mType == 2) { // canvas.drawColor(maskColor); // float baseY = getHeight() / 2 - (textPaint.ascent() + textPaint.descent()) / 2; - Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon_image); - canvas.translate(getWidth() / 2, getHeight() / 2); - canvas.drawBitmap(bitmap, -50, -50, null); + Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bf); + // canvas.translate(getWidth() / 2, getHeight() / 2); +// canvas.drawBitmap(bitmap, 0, 0, null); + + + canvas.drawBitmap(bitmap, getWidth()/2 - bitmap.getWidth() / 2, getHeight()/2 - bitmap.getHeight() / 2,null); } // if (mType == 2) { // Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.phone); diff --git a/ninegridview/src/main/res/drawable/bf.png b/ninegridview/src/main/res/drawable/bf.png new file mode 100644 index 0000000..c92479f Binary files /dev/null and b/ninegridview/src/main/res/drawable/bf.png differ