Commit b8bd230f by wukun

0904

parent b5b0ee8c
package com.dayu.widgets;
import android.app.Activity;
import android.app.Dialog;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.baselibrary.R;
import java.util.List;
public class PhoneNumDialog {
public static PhoneNumDialog instance;
public static PhoneNumDialog getInstance(){
if (instance == null){
instance = new PhoneNumDialog();
}
return instance;
}
public void showBottomDialog(final Activity activity, List<String> strs,onItemClickListener listener) {
View mView = View.inflate(activity, R.layout.dialog_phone_num , null);
RecyclerView recyclerView = mView.findViewById(R.id.rv_text);
TextView tvText = mView.findViewById(R.id.tv_text);
BaseQuickAdapter<String,BaseViewHolder> mAdapter = new BaseQuickAdapter<String, BaseViewHolder>
(R.layout.item_dialog_phone_num,strs) {
@Override
protected void convert(BaseViewHolder helper, String item) {
helper.setText(R.id.tv_text,item);
}
};
recyclerView.setLayoutManager(new LinearLayoutManager(activity));
recyclerView.setAdapter(mAdapter);
recyclerView.addItemDecoration(new DividerItemDecoration(activity,DividerItemDecoration.VERTICAL));
Dialog textDialog = new Dialog(activity, R.style.CustomDialog);
textDialog.setContentView(mView);
Window window = textDialog.getWindow();
WindowManager.LayoutParams wl = window.getAttributes();
wl.width = ViewGroup.LayoutParams.MATCH_PARENT;
wl.height = ViewGroup.LayoutParams.WRAP_CONTENT;
wl.gravity = Gravity.BOTTOM;
textDialog.onWindowAttributesChanged(wl);
textDialog.show();
textDialog.setCanceledOnTouchOutside(true);
textDialog.setCancelable(true);
mAdapter.setOnItemClickListener((adapter,view,pos)->{
if (listener != null){
listener.onClick(pos);
}
textDialog.dismiss();
});
tvText.setOnClickListener(v -> textDialog.dismiss());
}
public void showCenterDialog(final Activity activity, List<String> strs,onItemClickListener listener) {
showCenterDialog(activity,R.layout.dialog_text,R.layout.item_dialog_text,strs,listener);
}
public void showCenterDialog(final Activity activity, int viewId,int itemId,List<String> strs,onItemClickListener listener) {
View mView = View.inflate(activity, viewId , null);
RecyclerView recyclerView = mView.findViewById(R.id.rv_text);
BaseQuickAdapter<String,BaseViewHolder> mAdapter = new BaseQuickAdapter<String, BaseViewHolder>(itemId,strs) {
@Override
protected void convert(BaseViewHolder helper, String item) {
helper.setText(R.id.tv_text,item);
}
};
recyclerView.setLayoutManager(new LinearLayoutManager(activity));
recyclerView.setAdapter(mAdapter);
Dialog textDialog = new Dialog(activity, R.style.CustomDialog);
textDialog.setContentView(mView);
Window window = textDialog.getWindow();
WindowManager.LayoutParams wl = window.getAttributes();
wl.width = ViewGroup.LayoutParams.MATCH_PARENT;
wl.height = ViewGroup.LayoutParams.WRAP_CONTENT;
textDialog.onWindowAttributesChanged(wl);
textDialog.show();
textDialog.setCanceledOnTouchOutside(true);
textDialog.setCancelable(true);
mAdapter.setOnItemClickListener((adapter,view,pos)->{
if (listener != null){
listener.onClick(pos);
}
textDialog.dismiss();
});
}
public interface onItemClickListener {
void onClick(int pos);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_text"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
/>
<TextView
android:id="@+id/tv_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="20dp"
android:layout_marginTop="10dp"
android:text='取消'
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="@dimen/sp_14"
android:background="@color/white"/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tv_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="20dp"
android:text='aaa'
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="@dimen/sp_14" />
\ No newline at end of file
...@@ -5,6 +5,8 @@ import com.dayu.base.ui.presenter.BasePresenter; ...@@ -5,6 +5,8 @@ import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView; import com.dayu.common.BaseView;
import com.dayu.order.api.protocol.OrderDetail; import com.dayu.order.api.protocol.OrderDetail;
import java.util.List;
/** /**
* Created by luo * Created by luo
* on 2016/8/4. * on 2016/8/4.
...@@ -23,6 +25,8 @@ public interface OrderDetailContract { ...@@ -23,6 +25,8 @@ public interface OrderDetailContract {
void addFragment(); void addFragment();
void setDatas(OrderDetail detail); void setDatas(OrderDetail detail);
void setOrderPhoneNum(List<String> info);
} }
abstract class Presenter extends BasePresenter<View> { abstract class Presenter extends BasePresenter<View> {
......
...@@ -28,8 +28,13 @@ public class OrderDetailPresenter extends OrderDetailContract.Presenter { ...@@ -28,8 +28,13 @@ public class OrderDetailPresenter extends OrderDetailContract.Presenter {
@Override @Override
public void getOrderDetailInfo(int orderId) { public void getOrderDetailInfo(int orderId) {
OrderApiFactory.getOperatePhone(mOrderId).subscribe(baseObserver(info-> {
mView.setOrderPhoneNum(info);
OrderApiFactory.getOrderInfo(orderId,mUserId).subscribe(baseObserver( OrderApiFactory.getOrderInfo(orderId,mUserId).subscribe(baseObserver(
detail -> mView.init(detail), responeThrowable -> mView.init(null))); detail -> mView.init(detail), responeThrowable -> mView.init(null)));
}));
} }
@Override @Override
...@@ -37,6 +42,8 @@ public class OrderDetailPresenter extends OrderDetailContract.Presenter { ...@@ -37,6 +42,8 @@ public class OrderDetailPresenter extends OrderDetailContract.Presenter {
mView.showDialog(); mView.showDialog();
OrderApiFactory.getOrderInfo(mOrderId,mUserId).subscribe(baseObserver( OrderApiFactory.getOrderInfo(mOrderId,mUserId).subscribe(baseObserver(
detail -> mView.setDatas(detail))); detail -> mView.setDatas(detail)));
} }
@Override @Override
......
...@@ -28,6 +28,7 @@ import org.greenrobot.eventbus.Subscribe; ...@@ -28,6 +28,7 @@ import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import cn.jzvd.Jzvd; import cn.jzvd.Jzvd;
import cn.jzvd.JzvdStd; import cn.jzvd.JzvdStd;
...@@ -47,6 +48,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act ...@@ -47,6 +48,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
private FragmentManager mFragmentManger; private FragmentManager mFragmentManger;
private ArrayList<Fragment> mFragments; private ArrayList<Fragment> mFragments;
private int mPosition; private int mPosition;
private List<String> info;
@Override @Override
...@@ -68,7 +70,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act ...@@ -68,7 +70,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
public void init(OrderDetail detail) { public void init(OrderDetail detail) {
mFragments = new ArrayList<>(); mFragments = new ArrayList<>();
orderDatailsFragment = OrderDetaillsFragment.newInstance(detail); orderDatailsFragment = OrderDetaillsFragment.newInstance(detail);
mMultiDetailFragment = MultiOrderDetailFragment.newInstance(detail); mMultiDetailFragment = MultiOrderDetailFragment.newInstance(detail,info);
orderDatailsServeFragment = OrderDetailsServeFragment.newInstance(detail); orderDatailsServeFragment = OrderDetailsServeFragment.newInstance(detail);
mOrderPartFragment = OrderPartFragment.newInstance(detail); mOrderPartFragment = OrderPartFragment.newInstance(detail);
if (detail.getSpus().size()>0){ if (detail.getSpus().size()>0){
...@@ -199,6 +201,11 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act ...@@ -199,6 +201,11 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
} }
@Override @Override
public void setOrderPhoneNum(List<String> info) {
this.info = info;
}
@Override
public void onBackPressed() { public void onBackPressed() {
if (Jzvd.backPress()) { if (Jzvd.backPress()) {
return; return;
......
...@@ -47,7 +47,7 @@ import com.dayu.utils.UIUtils; ...@@ -47,7 +47,7 @@ import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager; import com.dayu.utils.UserManager;
import com.dayu.utils.UtilsDate; import com.dayu.utils.UtilsDate;
import com.dayu.widgets.CustomDialog; import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.TextDialog; import com.dayu.widgets.PhoneNumDialog;
import com.dayu.widgets.listener.OnItemClickListener; import com.dayu.widgets.listener.OnItemClickListener;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
...@@ -69,10 +69,12 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag ...@@ -69,10 +69,12 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
private boolean mFlag = true; private boolean mFlag = true;
private int orderId; private int orderId;
List<String> phones = new ArrayList<>(); List<String> phones = new ArrayList<>();
private ArrayList<String> phoneNum;
public static MultiOrderDetailFragment newInstance(OrderDetail detail) { public static MultiOrderDetailFragment newInstance(OrderDetail detail, List<String> info) {
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putSerializable(Constants.ORDER_DETAIL, detail); args.putSerializable(Constants.ORDER_DETAIL, detail);
args.putStringArrayList(Constants.OPERATE_DETAIL_PHONE, (ArrayList<String>) info);
MultiOrderDetailFragment fragment = new MultiOrderDetailFragment(); MultiOrderDetailFragment fragment = new MultiOrderDetailFragment();
fragment.setArguments(args); fragment.setArguments(args);
return fragment; return fragment;
...@@ -88,6 +90,7 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag ...@@ -88,6 +90,7 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
initUser(); initUser();
EventBus.getDefault().register(this); EventBus.getDefault().register(this);
OrderDetail detail = (OrderDetail) getArguments().getSerializable(Constants.ORDER_DETAIL); OrderDetail detail = (OrderDetail) getArguments().getSerializable(Constants.ORDER_DETAIL);
phoneNum = getArguments().getStringArrayList(Constants.OPERATE_DETAIL_PHONE);
orderId = detail.getId(); orderId = detail.getId();
setListenter(); setListenter();
mBind.setItem(detail); mBind.setItem(detail);
...@@ -397,22 +400,31 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag ...@@ -397,22 +400,31 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
private void setListenter() { private void setListenter() {
mBind.tvContactSeller.setOnClickListener(v -> { mBind.tvContactSeller.setOnClickListener(v -> {
if (phones == null || phones.size() == 0) {
ToastUtils.showShortToast(R.string.no_mobile);
} else {
if (phones.size() == 1) {
CommonUtils.dialPhone(mActivity, phones.get(0));
addDialPhoneRecord(phones.get(0));
} else { if (phoneNum == null || phoneNum.size() == 0){
TextDialog.getInstance().showCenterDialog(mActivity, phones, pos -> { ToastUtils.showShortToast(R.string.no_mobile);
CommonUtils.dialPhone(mActivity, phones.get(pos)); }else{
addDialPhoneRecord(phones.get(pos)); PhoneNumDialog.getInstance().showBottomDialog(mActivity, phoneNum, pos -> {
CommonUtils.dialPhone(mActivity, phoneNum.get(pos));
});
} }
);
} // if (phones == null || phones.size() == 0) {
} // ToastUtils.showShortToast(R.string.no_mobile);
// } else {
// if (phones.size() == 1) {
// CommonUtils.dialPhone(mActivity, phones.get(0));
// addDialPhoneRecord(phones.get(0));
//
// } else {
// TextDialog.getInstance().showCenterDialog(mActivity, phones, pos -> {
// CommonUtils.dialPhone(mActivity, phones.get(pos));
// addDialPhoneRecord(phones.get(pos));
// }
// );
//
// }
// }
}); });
mBind.tvTakeOrder.setOnClickListener(v -> { mBind.tvTakeOrder.setOnClickListener(v -> {
showDialog(); showDialog();
......
...@@ -28,6 +28,7 @@ import com.dayu.utils.GlideImageLoader; ...@@ -28,6 +28,7 @@ import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.ProgressUtil; import com.dayu.utils.ProgressUtil;
import com.dayu.utils.ToastUtils; import com.dayu.utils.ToastUtils;
import com.dayu.widgets.KeyboardStateObserver; import com.dayu.widgets.KeyboardStateObserver;
import com.dayu.widgets.PhoneNumDialog;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -138,17 +139,19 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen ...@@ -138,17 +139,19 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
mBind.tvContactSeller.setOnClickListener(v -> { mBind.tvContactSeller.setOnClickListener(v -> {
//TODO 联系电话 //TODO 联系电话
if (phoneNum == null){ if (phoneNum == null || phoneNum.size() == 0){
ToastUtils.showShortToast("data == null"); ToastUtils.showShortToast(R.string.no_mobile);
}else{ }else{
ToastUtils.showShortToast(phoneNum.size()+""); PhoneNumDialog.getInstance().showBottomDialog(mActivity, phoneNum, pos -> {
CommonUtils.dialPhone(mActivity, phoneNum.get(pos));
});
} }
if (TextUtils.isEmpty(phone)) { // if (TextUtils.isEmpty(phone)) {
ToastUtils.showShortToast(R.string.no_mobile); // ToastUtils.showShortToast(R.string.no_mobile);
} else { // } else {
CommonUtils.dialPhone(mActivity, phone); // CommonUtils.dialPhone(mActivity, phone);
} // }
}); });
//发送 //发送
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment