Commit b29b8c0a authored by linfeng's avatar linfeng

bug修复

parent 1fddfdef
......@@ -18,4 +18,8 @@ public final class Constance {
public static final String ACTIVITY_URL_CAMPDETAIL ="/camp/camp/CampDetailActivity";
public static final String ACTIVITY_URL_IDCARDCERTIFICATION ="/rvmine/personal/IDCardCertificationActivity";
public static final String ACTIVITY_URL_TRAVELSEARCH ="/rv/search/TravelSearchActivity";
}
......@@ -110,7 +110,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
}else if (id ==R.id.rl_camp){
setCurrent(TYPE_CAMP);
}else if (id == R.id.rl_found){
setCurrent(TYPE_FOUND);
// setCurrent(TYPE_FOUND);
}else if (id == R.id.rl_mine){
setCurrent(TYPE_MINE);
}
......@@ -121,7 +121,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
list.add(HomeFragment.getInstance(TYPE_HOME_PAGE));
list.add(TourismFragment.getInstance(TYPE_TRAVEL));
list.add(CampFragment.getInstance(TYPE_CAMP));
list.add(MineFragment.getInstance(TYPE_FOUND));
// list.add(MineFragment.getInstance(TYPE_FOUND));
list.add(MineFragment.getInstance(TYPE_MINE));
return list;
}
......
......@@ -8,4 +8,5 @@ public final class SPConstance {
public static final String USER_JSON_TOKEN ="token";
public static final String USER_JSON_IMTOKEN ="imToken";
public static final String USER_JSON_IMUSERID ="imUserId";
public static final String USER_JSON_ISCERTIFICATIONSTATUS ="CertificationStatus";
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="8dp"/>
<solid android:color="@color/gray_EEEEEE" />
</shape>
\ No newline at end of file
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.component_utils" />
package com.rv.component.utils;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ScrollView;
public class ObservableScrollView extends ScrollView {
public interface ScrollViewListener {
void onScrollChanged(ObservableScrollView scrollView, int x, int y,
int oldx, int oldy);
}
private ScrollViewListener scrollViewListener = null;
public ObservableScrollView(Context context) {
super(context);
}
public ObservableScrollView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
public ObservableScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setScrollViewListener(ScrollViewListener scrollViewListener) {
this.scrollViewListener = scrollViewListener;
}
@Override
protected void onScrollChanged(int x, int y, int oldx, int oldy) {
super.onScrollChanged(x, y, oldx, oldy);
if (scrollViewListener != null) {
scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
}
}
}
<resources>
<string name="app_name">component_utils</string>
</resources>
......@@ -167,7 +167,6 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
mPresenter.getData(RvFrameConfig.VEHICLE_CAMPLIST,1,CampApi.TRAVEL_CAMPSITETAG, CampTypeBean.class,false);
}
private void processTypeData(CampTypeBean bean) {
campTypeListAdapter.setNewData(bean.getData());
}
......@@ -184,16 +183,22 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
private void processData(CampListBean bean) {
if (mPage == 1) {
campAdapter.getData().clear();
if (bean.getData().getTotalCount() == 0) {
campAdapter.setEmptyView(getEmptyView(rvContent, -1, "还没有营地信息!"));
campAdapter.notifyDataSetChanged();
// campAdapter.setEmptyView(getEmptyView(rvContent, -1, "还没有营地信息!"));
return;
}
countPage = bean.getData().getTotalPage();
campAdapter.setNewData(bean.getData().getData());
if (bean.getData().getData() !=null) {
campAdapter.setNewData(bean.getData().getData());
}
campAdapter.loadMoreComplete();
} else {
campAdapter.addData(bean.getData().getData());
if (bean.getData().getData() !=null) {
campAdapter.addData(bean.getData().getData());
}
campAdapter.loadMoreComplete();
}
}
......
......@@ -18,7 +18,7 @@ public class CampListAdapter extends BaseQuickAdapter<CampListBean.DataBeanX.Dat
}
@Override
protected void convert(BaseViewHolder helper, final CampListBean.DataBeanX.DataBean item) {
GlideManager.getInstance(mContext).loadImage(item.getUrl(), (ImageView)helper.getView(R.id.iv_icon));
GlideManager.getInstance(mContext).loadImage(item.getLogo(), (ImageView)helper.getView(R.id.iv_icon));
helper.setText(R.id.tv_type,item.getStoreTypeName());
helper.setText(R.id.tv_name,item.getName());
helper.setText(R.id.tv_city,item.getCityName());
......
......@@ -13,7 +13,7 @@
<TextView
android:id="@+id/tv_scheduled_camp"
android:layout_width="match_parent"
android:layout_height="@dimen/size_55"
android:layout_height="@dimen/size_45"
android:background="@color/gray_FFB74B"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_16"
......
......@@ -7,7 +7,6 @@
android:orientation="vertical">
<RelativeLayout
android:background="@color/black"
android:layout_width="@dimen/size_150"
android:layout_height="@dimen/size_180">
......
......@@ -38,6 +38,8 @@ dependencies {
api 'com.google.zxing:core:3.3.0'
api project(':component_resource')
api project(':component_dialog')
api project(':component_utils')
api project(':plugin_search')
api project(':RvWrapper')
// api project(':RvTravel')
annotationProcessor'com.alibaba:arouter-compiler:1.1.4'
......
......@@ -5,8 +5,10 @@ import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import com.alibaba.android.arouter.launcher.ARouter;
import com.frame.base.bus.LoginSuccessfulEvent;
import com.frame.base.bus.RxBus;
import com.frame.base.url.Constance;
import com.frame.rv.OnModuleEventListener;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.SPConstance;
......@@ -114,11 +116,16 @@ public abstract class BaseLoginActivity<P extends MvpPresenter> extends BaseStat
UtilsManager.getInstance(mActivity).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_TOKEN, registeredBean.getToken()).commit();
UtilsManager.getInstance(mActivity).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_IMUSERID, registeredBean.getData().getImUserId()).commit();
UtilsManager.getInstance(mActivity).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_IMTOKEN, registeredBean.getData().getImToken()).commit();
UtilsManager.getInstance(mActivity).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_ISCERTIFICATIONSTATUS, registeredBean.getData().getCertificationStatus()).commit();
OkGoUtil.setToken(registeredBean.getToken());
switch (RvFrameConfig.RvFrameInfo.TYPE_LOGIN) {
case 1:
startActivity(CarDetailActivity.getIntent(mActivity, 1));
if ("0".equals(bean.getData().getCertificationStatus())){ //实名认证状态:0-未认证,1-已认证
ARouter.getInstance().build(Constance.ACTIVITY_URL_IDCARDCERTIFICATION).navigation();
}else {
startActivity(CarDetailActivity.getIntent(mActivity, 1));
}
break;
default:
finish();
......
......@@ -61,7 +61,7 @@ public class BingPhoneActivity extends BaseLoginActivity<CommonPresenter> {
private String mUnionid;
private Disposable mDisposable;
public static Intent getIntent(Context context, String openid, String headImg, int isQQ, String name,String uId) {
public static Intent getIntent(Context context, String openid, String headImg, int isQQ, String name, String uId) {
return new Intent(context, BingPhoneActivity.class)
.putExtra("openid", openid)
.putExtra("headImg", headImg)
......@@ -83,7 +83,7 @@ public class BingPhoneActivity extends BaseLoginActivity<CommonPresenter> {
mHeadImg = intent.getStringExtra("headImg");
mName = intent.getStringExtra("name");
mIsQQ = intent.getIntExtra("isQQ", 1);
mUnionid=intent.getStringExtra("uId");
mUnionid = intent.getStringExtra("uId");
editListener(etPhone);
editListener(etPhoneCode);
}
......@@ -106,10 +106,10 @@ public class BingPhoneActivity extends BaseLoginActivity<CommonPresenter> {
showToast(mIsQQ == 1 ? "该手机号已经绑定过一个QQ,请您更换手机号!" : "该手机号已经绑定过一个微信,请您更换手机号!");
break;
case 1:
otherLoginBind(getPhone(), getCode(), "", mName, mHeadImg, mOpenid, 1, mIsQQ,mUnionid);
otherLoginBind(getPhone(), getCode(), "", mName, mHeadImg, mOpenid, 1, mIsQQ, mUnionid);
break;
case 2:
startActivity(ConfirmPwdActivity.getIntent(mActivity, mOpenid, mHeadImg, mIsQQ, mName, getPhone(), getCode(),mUnionid));
startActivity(ConfirmPwdActivity.getIntent(mActivity, mOpenid, mHeadImg, mIsQQ, mName, getPhone(), getCode(), mUnionid));
finish();
break;
}
......@@ -129,37 +129,20 @@ public class BingPhoneActivity extends BaseLoginActivity<CommonPresenter> {
@OnClick({R2.id.iv_clear_phone, R2.id.iv_clear_code, R2.id.tv_get_code, R2.id.tv_bind})
public void onViewClicked(View view) {
if(view.getId()==R.id.iv_clear_phone){
int id = view.getId();
if (id == R.id.iv_clear_phone) {
clearEditData(etPhone);
}else if(view.getId()==R.id.iv_clear_code){
} else if (id == R.id.iv_clear_code) {
clearEditData(etPhoneCode);
}else if(view.getId()==R.id.tv_get_code){
} else if (id == R.id.tv_get_code) {
if (TextUtils.isEmpty(getPhone())) {
showToast(mActivity.getString(R.string.rv_phone_hint));
return;
}
sendCode(60);
}else if(view.getId()==R.id.tv_get_code){
} else if (id == R.id.tv_bind) {
checkPhone();
}
// switch (view.getId()) {
// case R.id.iv_clear_phone:
// clearEditData(etPhone);
// break;
// case R.id.iv_clear_code:
// clearEditData(etPhoneCode);
// break;
// case R.id.tv_get_code:
// if (TextUtils.isEmpty(getPhone())) {
// showToast(mActivity.getString(R.string.rv_phone_hint));
// return;
// }
// sendCode(60);
// break;
// case R.id.tv_bind:
// checkPhone();
// break;
// }
}
/**
......@@ -217,9 +200,9 @@ public class BingPhoneActivity extends BaseLoginActivity<CommonPresenter> {
@Override
public void afterTextChanged(Editable s) {
super.afterTextChanged(s);
if (editText.getId() ==R.id.et_phone ){
if (editText.getId() == R.id.et_phone) {
ivClearPhone.setVisibility(getPhone().length() > 0 ? View.VISIBLE : View.GONE);
}else if (editText.getId() ==R.id.et_phone_code){
} else if (editText.getId() == R.id.et_phone_code) {
ivClearCode.setVisibility(getCode().length() > 0 ? View.VISIBLE : View.GONE);
}
......
......@@ -13,6 +13,7 @@ import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.RxJavaManager;
import com.ruiwenliu.wrapper.util.listener.TextChangedListener;
......@@ -25,6 +26,7 @@ import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.bean.RegisteredBean;
import com.rv.home.rv.module.ui.login.bean.SendCodeBean;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.yuyife.okgo.OkGoUtil;
import java.util.LinkedHashMap;
import java.util.Map;
......@@ -153,57 +155,6 @@ public class RegisteredActivity extends BaseLoginActivity<CommonPresenter> {
}
userRegister();
}
// switch (view.getId()) {
// case R.id.iv_clear_phone:
// clearEditData(etPhone);
// break;
// case R.id.iv_clear_code:
// clearEditData(etPhoneCode);
// break;
// case R.id.tv_get_code:
// if (TextUtils.isEmpty(getPhone())) {
// showToast(mActivity.getString(R.string.rv_phone_hint));
// return;
// }
// sendCode(60);
// break;
// case R.id.iv_clear_pwd:
// pwdShow = !pwdShow;
// ivClearPwd.setSelected(pwdShow);
// etPwd.setTransformationMethod(pwdShow ? HideReturnsTransformationMethod.getInstance() : PasswordTransformationMethod.getInstance());
//// clearEditData(etPwd);
// break;
// case R.id.iv_clear_again_pwd:
// confirmShow = !confirmShow;
// ivClearAgainPwd.setSelected(confirmShow);
// etAgainPwd.setTransformationMethod(confirmShow ? HideReturnsTransformationMethod.getInstance() : PasswordTransformationMethod.getInstance());
//// clearEditData(etAgainPwd);
// break;
// case R.id.tv_agreement://用户协议查看
// break;
// case R.id.tv_registered:
//
// if (getPwd().length() < 8) {
// showToast(mActivity.getString(R.string.rv_pwd_length));
// return;
// }
// if (!getPwd().equals(getAgainPwd())) {
// showToast(mActivity.getString(R.string.rv_pwd_same));
// return;
// }
//
// if (mType == 1) {
// resetPwd();
// return;
// }
// if (cbAnnotations.isChecked() == false) {
// showToast(mActivity.getString(R.string.rv_confirm_agreement));
// return;
// }
// userRegister();
// break;
// }
}
......@@ -219,9 +170,9 @@ public class RegisteredActivity extends BaseLoginActivity<CommonPresenter> {
private void sendCode() {
Map<String, Object> map = new LinkedHashMap<>();
map.put("username", getPhone());
if (mType ==0){
if (mType == 0) {
map.put("type", 0);
}else{
} else {
map.put("type", 4);
}
mPresenter.postData(0, ApiConfig.HTTP_URL_SEND_CODE, SendCodeBean.class, map, true);
......@@ -231,11 +182,14 @@ public class RegisteredActivity extends BaseLoginActivity<CommonPresenter> {
* 注册
*/
private void userRegister() {
Map<String, Object> headMap = new LinkedHashMap<>();
headMap.put("dataType", "json");
headMap.put("contentType", "application/json;charset-UTF-8");
Map<String, Object> map = new LinkedHashMap<>();
map.put("username", getPhone());
map.put("mobilecode", getCode());
map.put("password", getPwd());
mPresenter.postData(1, ApiConfig.HTTP_URL_USER_REGISTER, RegisteredBean.class, map, true);
mPresenter.postData(RvFrameConfig.AUTH_POST, 1, ApiConfig.HTTP_URL_USER_REGISTER, RegisteredBean.class, map, headMap, true);
}
/**
......
......@@ -55,6 +55,8 @@ public class RegisteredBean extends BaseBean {
private String username;
private String imUserId;
private String imToken;
//实名认证状态:0-未认证,1-已认证
private String certificationStatus;
public String getNickname() {
return nickname;
......@@ -103,6 +105,14 @@ public class RegisteredBean extends BaseBean {
public void setImToken(String imToken) {
this.imToken = imToken;
}
public String getCertificationStatus() {
return certificationStatus;
}
public void setCertificationStatus(String certificationStatus) {
this.certificationStatus = certificationStatus;
}
}
}
......@@ -79,6 +79,10 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
List<Integer> listScreeningId;//获取筛选的ID
private OrderDataBean dataBean;
private List<CarAttributeListBean.DataBean.CataBean.ChildrenBean> childrenBeanList1;
private List<CarAttributeListBean.DataBean.CataBean.ChildrenBean> childrenBeanList2;
private List<CarAttributeListBean.DataBean.CataBean.ChildrenBean> childrenBeanList3;
public static Intent getIntent(Context context, double lat, double lon, boolean bool, OrderDataBean bean, String startTime, String endTime) {
return new Intent(context, CarRentalListActivity.class)
.putExtra("lat", lat)
......@@ -141,8 +145,8 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
public void onShowResult(int requestType, BaseBean result) {
switch (requestType) {
case 0:
attributeListBean = (CarAttributeListBean) result;
initAttr();
initData((CarAttributeListBean) result);
break;
case 1:
processData((CarTypeListBean) result);
......@@ -150,6 +154,37 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
}
}
private void initData(CarAttributeListBean data) {
childrenBeanList1 = new ArrayList<>();
childrenBeanList2 = new ArrayList<>();
childrenBeanList3 = new ArrayList<>();
if (data != null) {
List<CarAttributeListBean.DataBean.CataBean> cata = data.getData().getCata();
if (cata != null && cata.size() > 1) {
CarAttributeListBean.DataBean.CataBean.ChildrenBean childrenBean1 = new CarAttributeListBean.DataBean.CataBean.ChildrenBean();
childrenBean1.setName("全部");
childrenBean1.setShow(true);
childrenBeanList1.add(childrenBean1);
childrenBeanList1.addAll(cata.get(0).getChildren());
CarAttributeListBean.DataBean.CataBean.ChildrenBean childrenBean2 = new CarAttributeListBean.DataBean.CataBean.ChildrenBean();
childrenBean2.setName("全部");
childrenBean2.setShow(true);
childrenBeanList2.add(childrenBean2);
childrenBeanList2.addAll(cata.get(1).getChildren());
CarAttributeListBean.DataBean.CataBean.ChildrenBean childrenBean3 = new CarAttributeListBean.DataBean.CataBean.ChildrenBean();
childrenBean3.setName("全部");
childrenBean3.setShow(true);
childrenBeanList3.add(childrenBean3);
childrenBeanList3.addAll(cata.get(2).getChildren());
}
}
attributeListBean = data;
initAttr();
// .get(0).getChildren();
}
@Override
public void onLoadMoreRequested() {
if (mPage >= countPage) {
......@@ -174,13 +209,13 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
return;
}
if(view.getId()==R.id.rl_brand){
setMenuSelect(0, view, attributeListBean.getData().getCata().get(0).getChildren(), tvBrand.getText().toString().trim());
}else if(view.getId()==R.id.rl_price){
setMenuSelect(1, view, attributeListBean.getData().getCata().get(1).getChildren(), tvPrice.getText().toString().trim());
}else if(view.getId()==R.id.rl_seat){
setMenuSelect(2, view, attributeListBean.getData().getCata().get(2).getChildren(), tvSeat.getText().toString().trim());
}else if(view.getId()==R.id.rl_selected){
if (view.getId() == R.id.rl_brand) {
setMenuSelect(0, view, childrenBeanList1, tvBrand.getText().toString().trim());
} else if (view.getId() == R.id.rl_price) {
setMenuSelect(1, view, childrenBeanList2, tvPrice.getText().toString().trim());
} else if (view.getId() == R.id.rl_seat) {
setMenuSelect(2, view, childrenBeanList3, tvSeat.getText().toString().trim());
} else if (view.getId() == R.id.rl_selected) {
setMenuSelect(3, view, null, null);
List<MultiItemBean> multiList = new ArrayList<>();
for (CarAttributeListBean.DataBean.CataBean bean : attributeListBean.getData().getCata()) {
......@@ -239,7 +274,7 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
if (listScreeningId != null && listScreeningId.size() > 0) {
map.put("catasStr", getIdGroup());
}
map.put("addrCity",dataBean.getStartCity());
map.put("addrCity", dataBean.getStartCity());
map.put("limit", 10);
map.put("lat", mLat);
map.put("lon", mLon);
......@@ -307,6 +342,7 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
// setViewStyle(ivPrice, tvPrice, selectType == 1);
// setViewStyle(ivSeat, tvSeat, selectType == 2);
// setViewStyle(ivSelected, tvSelected, selectType == 3);
showPopupWindow(view, list, index, attrName);
}
......
......@@ -104,12 +104,6 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
TextView tvCarNotHurtMoney;
@BindView(R2.id.tv_car_not_hurt_content)
TextView tvCarNotHurtContent;
@BindView(R2.id.tv_passenger_security)
TextView tvPassengerSecurity;
@BindView(R2.id.tv_passenger_security_money)
TextView tvPassengerSecurityMoney;
@BindView(R2.id.tv_passenger_security_content)
TextView tvPassengerSecurityContent;
@BindView(R2.id.tv_passenger_know)
CheckBox tvPassengerKnow;
@BindView(R2.id.tv_contract_agreement)
......
......@@ -5,6 +5,7 @@ import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Rect;
import android.os.Build;
import android.os.Bundle;
......@@ -13,12 +14,15 @@ import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.widget.DatePicker;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.TimePicker;
......@@ -40,6 +44,7 @@ import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.ruiwenliu.wrapper.util.listener.SwitchFragment;
import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.rv.component.utils.ObservableScrollView;
import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig;
......@@ -77,7 +82,7 @@ import io.reactivex.functions.Consumer;
/**
* 首页
*/
public class HomeFragment extends BaseFragment<CommonPresenter> {
public class HomeFragment extends BaseFragment<CommonPresenter> implements ObservableScrollView.ScrollViewListener {
Unbinder unbinder;
......@@ -129,8 +134,6 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
LinearLayout travelCityLayout;
@BindView(R2.id.search_input)
TextView searchInput;
@BindView(R2.id.search_commit)
TextView searchCommit;
@BindView(R2.id.travel_server_image)
ImageView travelServerImage;
@BindView(R2.id.tv_rv_city)
......@@ -151,6 +154,17 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
TextView tvHotCarRental;
@BindView(R2.id.tv_see_more_popular)
TextView tvSeeMorePopular;
@BindView(R2.id.rl_item_layout)
RelativeLayout rlItemLayout;
@BindView(R2.id.scrollview)
ObservableScrollView scrollview;
@BindView(R2.id.ll_item_title)
LinearLayout llItemTitle;
@BindView(R2.id.ll_item_top)
LinearLayout llItemTop;
@BindView(R2.id.ll_item_search)
LinearLayout llItemSearch;
Unbinder unbinder1;
......@@ -160,6 +174,7 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
Unbinder unbinder2;
Unbinder unbinder3;
private String nowCity = "";
private int getSwitchType;//取车开关类型
private int outSwitchType;//还车开关类型
......@@ -194,6 +209,8 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
private RVTourListAdapter mRvTourAdapter;
private RVTourListLabelAdapter mRvTourLabelAdapter;
private int height;
public static HomeFragment getInstance(int type) {
Bundle bundl = new Bundle();
bundl.putInt("type", type);
......@@ -216,6 +233,20 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
tvItemRvTour.setSelected(true);
tvHotRvtour.setTextColor(getResources().getColor(R.color.text_Main));
tvHotRvtour.getPaint().setFakeBoldText(true);
scrollview.scrollTo(0,0);
ViewTreeObserver observer = rlItemLayout.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
rlItemLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
height = rlItemLayout.getHeight();
rlItemLayout.getWidth();
scrollview.setScrollViewListener(HomeFragment.this);
}
});
mAdapter = new HotCarTypeAdapter();
recyclerViewContent.setLayoutManager(new GridLayoutManager(getContext(), 2));
......@@ -262,6 +293,9 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
ARouter.getInstance()
.build(Constance.ACTIVITY_URL_TRAVELDETAILS)
.withString("id", data.getId())
.withString("name",data.getName())
.withString("content",data.getName1())
.withString("url",data.getImgUrl())
.navigation();
} else if ("3".equals(hotType)) {
//娱乐营地
......@@ -310,6 +344,7 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
unbinder3.unbind();
}
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
private int space;
......@@ -336,7 +371,6 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
}
mActivityAdapter.setNewData(list);
mRvEnthusiast.setNewData(list);
}
@Override
......@@ -399,7 +433,7 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
mRvTourLabelAdapter.setNewData(hotData);
}
@OnClick({R2.id.travel_city_layout, R2.id.tv_item_rv_tour, R2.id.tv_item_renting_a_car, R2.id.tv_get_city, R2.id.tv_out_city, R2.id.tv_get_address, R2.id.tv_out_address, R2.id.ll_item_get_time, R2.id.ll_item_alsotime, R2.id.tv_select_car, R2.id.ll_item_rv_city, R2.id.tv_book_now, R2.id.ll_item_rv_hot_label1, R2.id.ll_item_rv_hot_label2, R2.id.ll_item_rv_hot_label3, R2.id.ll_item_hot_rvtour, R2.id.ll_item_hot_entertainment_camp, R2.id.ll_item_hot_car_rental, R2.id.tv_see_more_popular})
@OnClick({R2.id.travel_city_layout, R2.id.ll_item_search,R2.id.tv_item_rv_tour, R2.id.tv_item_renting_a_car, R2.id.tv_get_city, R2.id.tv_out_city, R2.id.tv_get_address, R2.id.tv_out_address, R2.id.ll_item_get_time, R2.id.ll_item_alsotime, R2.id.tv_select_car, R2.id.ll_item_rv_city, R2.id.tv_book_now, R2.id.ll_item_rv_hot_label1, R2.id.ll_item_rv_hot_label2, R2.id.ll_item_rv_hot_label3, R2.id.ll_item_hot_rvtour, R2.id.ll_item_hot_entertainment_camp, R2.id.ll_item_hot_car_rental, R2.id.tv_see_more_popular, R2.id.ll_item_top})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.travel_city_layout) {
......@@ -411,7 +445,15 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
.withInt("mCityId", mTravelCityId)
.navigation(getActivity(), TYPE_REQUEST_CITY);
} else if (id == R.id.tv_item_rv_tour) {
}else if (id == R.id.ll_item_search){
//搜索
ARouter.getInstance()
.build(Constance.ACTIVITY_URL_TRAVELSEARCH)
.withDouble("latLatitude",latLatitude)
.withDouble("lonLongitude",lonLongitude)
.navigation();
}else if (id == R.id.tv_item_rv_tour) {
tvItemRvTour.setSelected(true);
tvItemRentingACar.setSelected(false);
......@@ -588,6 +630,8 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
} else if ("1".equals(hotType)) {
//优质车型
}
}else if (id == R.id.ll_item_top){
scrollview.fullScroll(View.FOCUS_UP);
}
}
......@@ -736,12 +780,23 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
* 获取门店列表
*/
private void getShopList(double lat, double lon) {
int addrCity = 0;
String json = UtilsManager.getInstance().getJson(getContext(), "city.json");
CityPickerBean bean = new Gson().fromJson(json, CityPickerBean.class);
for (CityPickerBean.CityBean cityBean : bean.getCity()) {
for (ListsBean lsBean : cityBean.getLists()) {
if (nowCity.equals(lsBean.getName())) {
addrCity =lsBean.getId();
}
}
}
Map<String, Object> map = new LinkedHashMap<>();
map.put("page", 1);
map.put("limit", 1);
map.put("lat", lat);
map.put("lon", lon);
mPresenter.getData(RvFrameConfig.VEHICLE_POST, 0, ApiConfig.HTTP_URL_SHOP_LIST, ShopListBean.class, map, true);
map.put("addrCity", String.valueOf(addrCity));
mPresenter.getData(RvFrameConfig.VEHICLE_POST, 0, ApiConfig.HTTP_URL_SHOP_LIST, ShopListBean.class, map, false);
}
/**
......@@ -795,6 +850,34 @@ public class HomeFragment extends BaseFragment<CommonPresenter> {
}
@Override
public void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy) {
if (y <= height) {
Log.i("homeFragment", "onScrollChanged: " + y);
Log.i("homeFragment", "height: " + height);
float scale = (float) y / height;
float alpha = (255 * scale);
llItemTop.setVisibility(View.GONE);
//只是layout背景透明(仿知乎滑动效果)
llItemSearch.setBackground(getResources().getDrawable(R.drawable.shape_rv_textview_home_translucent));
travelCityText.setTextColor(getResources().getColor(R.color.colorWrite));
travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white);
if (y <=3){
llItemTitle.setBackgroundColor(Color.argb(0, 0, 0, 0));
}else {
llItemTitle.setBackgroundColor(Color.argb((int) alpha, 255, 255, 255));
}
} else {
llItemTop.setVisibility(View.VISIBLE);
llItemSearch.setBackground(getResources().getDrawable(R.drawable.shape_rv_textview_home_search));
travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange);
travelCityText.setTextColor(getResources().getColor(R.color.colorMain));
llItemTitle.setBackgroundColor(Color.argb(255, 255, 255, 255));
}
}
/**
* 初始化时间进程
*/
......
......@@ -22,7 +22,6 @@ public class AttributeListAdapter extends BaseMultiItemQuickAdapter<MultiItemBea
public static final int TYPE_ATTRIBUTE_NAME = 2;
public AttributeListAdapter(List<MultiItemBean> data) {
super(data);
addItemType(TYPE_ATTRIBUTE_TYPE, R.layout.rv_item_car_attr);
......@@ -38,14 +37,14 @@ public class AttributeListAdapter extends BaseMultiItemQuickAdapter<MultiItemBea
break;
case TYPE_ATTRIBUTE_NAME:
CarAttributeListBean.DataBean.CataBean.ChildrenBean nameBean = (CarAttributeListBean.DataBean.CataBean.ChildrenBean) item;
helper.setText(R.id.tv_attr_name,nameBean.getName());
if(nameBean.isSelect==1){
helper.setBackgroundRes(R.id.rl_bg,R.drawable.rv_rentingcar_icon_select_triangle);
helper.setTextColor(R.id.tv_attr_name, ContextCompat.getColor(mContext,R.color.colorAuxiliaryYellow));
helper.setText(R.id.tv_attr_name, nameBean.getName());
if (nameBean.isSelect == 1) {
helper.setBackgroundRes(R.id.rl_bg, R.drawable.rv_rentingcar_icon_select_triangle);
helper.setTextColor(R.id.tv_attr_name, ContextCompat.getColor(mContext, R.color.colorAuxiliaryYellow));
// helper.setGone(R.id.iv_select, true);
}else {
helper.setBackgroundRes(R.id.rl_bg,R.drawable.shape_rv_line_bg);
helper.setTextColor(R.id.tv_attr_name, ContextCompat.getColor(mContext,R.color.textMain));
} else {
helper.setBackgroundRes(R.id.rl_bg, R.drawable.shape_rv_line_bg);
helper.setTextColor(R.id.tv_attr_name, ContextCompat.getColor(mContext, R.color.textMain));
// helper.setGone(R.id.iv_select, false);
}
break;
......@@ -53,15 +52,17 @@ public class AttributeListAdapter extends BaseMultiItemQuickAdapter<MultiItemBea
}
}
/**
* 设置Item选中事件
*
* @param position
*/
public void setItemSelect(int position){
if(getData().get(position) instanceof CarAttributeListBean.DataBean.CataBean.ChildrenBean){
CarAttributeListBean.DataBean.CataBean.ChildrenBean bean= ( CarAttributeListBean.DataBean.CataBean.ChildrenBean) getData().get(position);
bean.isSelect=bean.isSelect==0?1:0;
getData().set(position,bean);
public void setItemSelect(int position) {
if (getData().get(position) instanceof CarAttributeListBean.DataBean.CataBean.ChildrenBean) {
CarAttributeListBean.DataBean.CataBean.ChildrenBean bean = (CarAttributeListBean.DataBean.CataBean.ChildrenBean) getData().get(position);
bean.isSelect = bean.isSelect == 0 ? 1 : 0;
getData().set(position, bean);
notifyItemChanged(position);
}
......@@ -69,14 +70,15 @@ public class AttributeListAdapter extends BaseMultiItemQuickAdapter<MultiItemBea
/**
* 获取选中的Id
*
* @return
*/
public List<Integer> getSelectId(List<Integer> list){
public List<Integer> getSelectId(List<Integer> list) {
for (MultiItemBean bean: mData){
if(bean instanceof CarAttributeListBean.DataBean.CataBean.ChildrenBean){
CarAttributeListBean.DataBean.CataBean.ChildrenBean childrenBean= (CarAttributeListBean.DataBean.CataBean.ChildrenBean) bean;
if(childrenBean.isSelect==1){
for (MultiItemBean bean : mData) {
if (bean instanceof CarAttributeListBean.DataBean.CataBean.ChildrenBean) {
CarAttributeListBean.DataBean.CataBean.ChildrenBean childrenBean = (CarAttributeListBean.DataBean.CataBean.ChildrenBean) bean;
if (childrenBean.isSelect == 1) {
list.add(childrenBean.getId());
}
}
......@@ -85,14 +87,14 @@ public class AttributeListAdapter extends BaseMultiItemQuickAdapter<MultiItemBea
}
public void resetData(){
for (MultiItemBean bean: mData){
if(bean instanceof CarAttributeListBean.DataBean.CataBean.ChildrenBean){
CarAttributeListBean.DataBean.CataBean.ChildrenBean childrenBean= (CarAttributeListBean.DataBean.CataBean.ChildrenBean) bean;
childrenBean.isSelect=0;
}
public void resetData() {
for (MultiItemBean bean : mData) {
if (bean instanceof CarAttributeListBean.DataBean.CataBean.ChildrenBean) {
CarAttributeListBean.DataBean.CataBean.ChildrenBean childrenBean = (CarAttributeListBean.DataBean.CataBean.ChildrenBean) bean;
childrenBean.isSelect = 0;
}
notifyDataSetChanged();
}
notifyDataSetChanged();
}
}
......@@ -23,13 +23,16 @@ public class CarRentalListAdapter extends BaseQuickAdapter<CarTypeListBean.DataB
@Override
protected void convert(BaseGlideHolder helper, CarTypeListBean.DataBeanX.DataBean item) {
helper.setText(R.id.tv_name,item.getVehicleModel().getName());
helper.setText(R.id.tv_address,item.getCompany().getName());
helper.setText(R.id.tv_context,item.getVehicleModel().getKeyword());
helper.setText(R.id.tv_point,String.valueOf(item.getVehicleModel().getPoint()));
helper.loadImage(mContext,item.getVehicleModel().getPicture(), (ImageView) helper.getView(R.id.iv_goods));
if (item.getVehicleModel() !=null){
helper.setText(R.id.tv_name,item.getVehicleModel().getName());
helper.setText(R.id.tv_context,item.getVehicleModel().getKeyword());
helper.setText(R.id.tv_point,String.valueOf(item.getVehicleModel().getPoint()));
helper.loadImage(mContext,item.getVehicleModel().getPicture(), (ImageView) helper.getView(R.id.iv_goods));
// helper.setText(R.id.tv_name,item);
helper.setText(R.id.tv_price,String.format("¥%1$s%2$s",item.getVehicleModel().getPrice(),mContext.getString(R.string.rv_day)));
helper.setText(R.id.tv_price,String.format("¥%1$s%2$s",item.getVehicleModel().getPrice(),mContext.getString(R.string.rv_day)));
}
helper.setText(R.id.tv_address,item.getCompany().getName());
double instance=item.getDistance()/1000;
helper.setText(R.id.tv_km,String.format("%1$s%2$.3f%3$s",mContext.getString(R.string.rv_km_you),instance,mContext.getString(R.string.rv_km)));
......
......@@ -125,6 +125,7 @@ public class CarAttributeListBean extends BaseBean{
private String name;
private int id;
private int parentId;
private boolean isShow;
private List<?> children;
public int getLevel() {
......@@ -166,6 +167,15 @@ public class CarAttributeListBean extends BaseBean{
public void setChildren(List<?> children) {
this.children = children;
}
public boolean isShow() {
return isShow;
}
public void setShow(boolean show) {
isShow = show;
}
@Override
public int getSpanSize() {
return 2;
......
......@@ -6,7 +6,8 @@
android:background="@color/colorLine"
android:orientation="vertical">
<android.support.v4.widget.NestedScrollView
<com.rv.component.utils.ObservableScrollView
android:id="@+id/scrollview"
android:layout_width="match_parent"
android:layout_height="wrap_content">
......@@ -16,6 +17,7 @@
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_item_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/size_580">
......@@ -387,11 +389,11 @@
<TextView
android:id="@+id/tv_book_now"
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:layout_height="@dimen/size_40"
android:layout_marginTop="@dimen/size_20"
android:background="@drawable/shape_rv_bg_dark_yellow"
android:gravity="center"
android:text="立即预"
android:text="立即预"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_16" />
......@@ -709,12 +711,13 @@
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</com.rv.component.utils.ObservableScrollView>
<LinearLayout
android:id="@+id/ll_item_title"
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h5"
android:layout_marginTop="@dimen/size_10"
android:layout_height="@dimen/size_50"
android:gravity="center"
android:orientation="horizontal">
......@@ -722,7 +725,7 @@
android:id="@+id/travel_city_layout"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/ui_dimen_common"
android:layout_marginLeft="@dimen/size_5"
android:clickable="true"
android:gravity="center"
android:orientation="horizontal">
......@@ -744,6 +747,7 @@
<LinearLayout
android:id="@+id/ll_item_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="@dimen/ui_dimen_common"
......@@ -765,29 +769,14 @@
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:background="@null"
android:gravity="center_vertical"
android:hint="搜索目的地/旅游线"
android:paddingLeft="@dimen/ui_dimen_common"
android:paddingRight="@dimen/ui_dimen_padding_h1"
android:textColor="@color/colorTextH1"
android:textColorHint="@color/colorTextH3"
android:textSize="@dimen/_ui_text_size_h7" />
<TextView
android:id="@+id/search_commit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/ui_dimen_common_large"
android:background="@drawable/ui_selector_radius_common_primary_h1"
android:paddingLeft="@dimen/ui_dimen_common"
android:paddingTop="@dimen/ui_dimen_common_small"
android:paddingRight="@dimen/ui_dimen_common"
android:paddingBottom="@dimen/ui_dimen_common_small"
android:text="确定"
android:textColor="@color/colorTop"
android:textSize="@dimen/_ui_text_size_h6"
android:visibility="gone" />
</LinearLayout>
<ImageView
......@@ -795,8 +784,33 @@
android:layout_width="@dimen/size_30"
android:layout_height="@dimen/size_30"
android:paddingRight="@dimen/ui_dimen_common"
android:layout_marginRight="@dimen/size_5"
android:padding="@dimen/size_5"
android:scaleType="centerInside"
android:src="@drawable/rv_rentingcar_icon_service_white" />
<LinearLayout
android:id="@+id/ll_item_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="@dimen/size_15"
android:gravity="center_horizontal"
android:visibility="gone"
android:orientation="vertical">
<ImageView
android:layout_width="@dimen/size_20"
android:layout_height="@dimen/size_20"
android:padding="@dimen/size_2"
android:src="@drawable/common_icon_stick"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/gray_FFB74B"
android:textSize="@dimen/text_8"
android:text="回顶部"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
\ No newline at end of file
......@@ -764,55 +764,7 @@
<include layout="@layout/common_line" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:padding="@dimen/size_15">
<CheckBox
android:id="@+id/tv_lab4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/rv_passenger_security"
android:paddingLeft="@dimen/size_10"
android:button="@drawable/selector_rv_check"
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
<TextView
android:id="@+id/tv_passenger_security"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_2"
android:layout_toRightOf="@id/tv_lab4"
android:paddingLeft="@dimen/size_20"
android:paddingRight="@dimen/size_20"
android:text="@string/rv_personal_safety"
android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
<TextView
android:id="@+id/tv_passenger_security_money"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_weight="1"
android:text="¥100/日"
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
<TextView
android:id="@+id/tv_passenger_security_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_passenger_security_money"
android:layout_marginTop="@dimen/size_8"
android:textColor="@color/textLightGrey"
android:textSize="@dimen/text_12"
android:visibility="gone" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
......
......@@ -39,4 +39,5 @@ dependencies {
implementation 'com.contrarywind:Android-PickerView:3.2.7'
api project(':module_home')
annotationProcessor'com.alibaba:arouter-compiler:1.1.4'
implementation 'top.zibin:Luban:1.1.3'
}
......@@ -18,8 +18,10 @@ import com.frame.base.browse.ActivityImageBrowseInt;
import com.frame.base.bus.LoginSuccessfulEvent;
import com.frame.base.bus.RxBus;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
......@@ -158,7 +160,7 @@ public class MineFragment extends BaseFragment<CommonPresenter> {
@OnClick({R2.id.iv_avatar, R2.id.tv_login, R2.id.tv_verified, R2.id.rl_item_to_be_paid, R2.id.rl_item_staying,
R2.id.rl_item_traveling, R2.id.rl_item_completed, R2.id.rl_item_all, R2.id.rl_item_collection, R2.id.rl_item_personal_information,
R2.id.rl_item_setting,R2.id.rl_item_driver,R2.id.rl_item_traveler,R2.id.rl_item_my_pat})
R2.id.rl_item_setting,R2.id.rl_item_driver,R2.id.rl_item_traveler})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.iv_avatar) {
......@@ -226,8 +228,6 @@ public class MineFragment extends BaseFragment<CommonPresenter> {
//出游人
if (isLogin()) return;
startActivity(ChooseAVisitorActivity.getIntent(_mActivity));
}else if (id == R.id.rl_item_my_pat){
//我的拍拍
}
}
......@@ -324,6 +324,8 @@ public class MineFragment extends BaseFragment<CommonPresenter> {
if (info !=null) {
GlideManager.getInstance(_mActivity).loadImage(info.getHeadimgurl(), ivAvatar);
tvNickname.setText(info.getUsername());
//更新实名信息
UtilsManager.getInstance(_mActivity).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_ISCERTIFICATIONSTATUS, String.valueOf(info.getCertificationStatus())).commit();
if (info.getCertificationStatus() == 0) { //实名认证状态:0-未认证,1-已认证
tvVerified.setText("未实名认证");
tvVerified.setEnabled(true);
......
......@@ -83,7 +83,7 @@ public class CollectionListBean extends BaseBean {
public static class DataBean implements MultiItemEntity,Serializable {
private int id;
private String id;
private int userId;
private int type;
private int typeId;
......@@ -103,11 +103,11 @@ public class CollectionListBean extends BaseBean {
}
public int getId() {
public String getId() {
return id;
}
public void setId(int id) {
public void setId(String id) {
this.id = id;
}
......
package com.rv.rvmine.dialog;
import android.content.Context;
import android.support.annotation.NonNull;
import android.view.Gravity;
import android.view.ViewGroup;
import com.ruiwenliu.wrapper.dialog.BaseDialog;
import com.rv.rvmine.R;
/**
* 选择性别
*/
public class ChooseGenderDialog extends BaseDialog {
public ChooseGenderDialog(@NonNull Context context) {
super(context);
setDialogParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER);
}
@Override
public int getViewLayout() {
return R.layout.rv_dialog_choose_gender;
}
}
......@@ -13,7 +13,9 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.frame.base.bus.RxBus;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
......@@ -41,10 +43,13 @@ import io.reactivex.functions.Consumer;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import top.zibin.luban.Luban;
import top.zibin.luban.OnCompressListener;
/**
* 实名认证
*/
@Route(path = Constance.ACTIVITY_URL_IDCARDCERTIFICATION)
public class IDCardCertificationActivity extends BaseStatusActivity<PickerPresenter> {
@BindView(R2.id.et_name)
......@@ -259,24 +264,36 @@ public class IDCardCertificationActivity extends BaseStatusActivity<PickerPresen
/**
* 上传文件
*
* @param file
* @param files
*/
private void uploadFile(File file, String fileName) {
RequestBody requestFile =
RequestBody.create(MediaType.parse("application/otcet-stream"), file);
MultipartBody.Part body =
MultipartBody.Part.createFormData("file", file.getName(), requestFile);
RequestBody description =
RequestBody.create(
MediaType.parse("multipart/form-data"), fileName);
// // 创建 RequestBody,用于封装构建RequestBody
// RequestBody requestFile =
// RequestBody.create(MediaType.parse("multipart/form-data"), file);
// MultipartBody.Part body =
// MultipartBody.Part.createFormData("file", file.getName(), requestFile);
mPresenter.getUploadFile(RvFrameConfig.VEHICLE_UPLOAD, 0, ApiConfig.HTTP_URL_FILE_UPLOAD, ImageUploadBean.class, description, body, true);
private void uploadFile(File files, final String fileName) {
Luban.with(this)
.load(files) // 传人要压缩的图片列表
.ignoreBy(100) // 忽略不压缩图片的大小
.setCompressListener(new OnCompressListener() { //设置回调
@Override
public void onStart() {
}
@Override
public void onSuccess(File file) {
RequestBody requestFile =
RequestBody.create(MediaType.parse("application/otcet-stream"), file);
MultipartBody.Part body =
MultipartBody.Part.createFormData("file", file.getName(), requestFile);
RequestBody description =
RequestBody.create(
MediaType.parse("multipart/form-data"), fileName);
mPresenter.getUploadFile(RvFrameConfig.VEHICLE_UPLOAD, 0, ApiConfig.HTTP_URL_FILE_UPLOAD, ImageUploadBean.class, description, body, true);
}
@Override
public void onError(Throwable e) {
}
}).launch(); //启动压缩
}
......
......@@ -5,7 +5,10 @@ import android.content.Intent;
import android.os.Bundle;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig;
import com.rv.home.rv.module.ui.main.home.CarDetailActivity;
import com.rv.rvmine.R2;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
......@@ -44,12 +47,19 @@ public class SuccessfulCertificationActivity extends BaseStatusActivity<PickerPr
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
@OnClick(R2.id.tv_ok)
public void onViewClicked() {
switch (RvFrameConfig.RvFrameInfo.TYPE_LOGIN){
case 1:
startActivity(CarDetailActivity.getIntent(mActivity, 1));
break;
default:
finish();
break;
}
finish();
}
}
......@@ -7,9 +7,12 @@ import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.alibaba.android.arouter.launcher.ARouter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView;
......@@ -60,7 +63,19 @@ public class CollectionActivity extends BaseStatusActivity<CommonPresenter> impl
collectionAdapter.setOnLoadMoreListener(this, recyclerView);
recyclerView.setAdapter(collectionAdapter);
collectionAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
CollectionListBean.DataBeanX.DataBean dataBean = (CollectionListBean.DataBeanX.DataBean) adapter.getItem(position);
ARouter.getInstance()
.build(Constance.ACTIVITY_URL_TRAVELDETAILS)
.withString("id", dataBean.getId())
.withString("name",dataBean.getName())
.withString("content",dataBean.getUnit())
.withString("url",dataBean.getCover())
.navigation();
}
});
}
@Override
......
......@@ -7,6 +7,7 @@ import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
......@@ -26,9 +27,13 @@ import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.dialog.PickerDialog;
import com.rv.home.rv.module.basic.presenter.PickerPresenter;
import com.rv.home.rv.module.ui.main.home.bean.ImageUploadBean;
import com.rv.home.rv.module.ui.main.home.dialog.TipsDialog;
import com.rv.home.rv.module.ui.main.home.order.CancelTheTripActivity;
import com.rv.home.rv.module.ui.main.home.order.bean.CancelTheTripBean;
import com.rv.rvmine.R;
import com.rv.rvmine.bean.UserInfoBean;
import com.rv.rvmine.R2;
import com.rv.rvmine.dialog.ChooseGenderDialog;
import com.rv.rvmine.rxbusevent.UserInfoEvent;
import com.yuyife.okgo.OkGoUtil;
......@@ -70,6 +75,8 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
private UserInfoBean.UserInfo info;
private String ivAvatarUrl;
private int sex;// 0-女,1-男
public static Intent getIntent(Context context, UserInfoBean.UserInfo info) {
return new Intent(context, PersonalInformationActivity.class)
.putExtra("userinfo", info);
......@@ -104,6 +111,7 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
tvDateOfBirth.setText(info.getBirthday());
}
if (info.getSex() != null) {
sex = info.getSex();
if (info.getSex() == 0) { // 0-女,1-男
tvSex.setText("女");
} else if (info.getSex() == 1) {
......@@ -172,6 +180,7 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
initTimePicker1();
} else if (id == R.id.ll_item_sex) {
//性别
chooseGender();
} else if (id == R.id.ll_item_binding_qq) {
//绑定qq
......@@ -182,6 +191,41 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
}
}
private void chooseGender() {
new ChooseGenderDialog(mActivity) {
@Override
public void helper(final ViewHolder helper) {
super.helper(helper);
if (sex == 0) { // 0-女,1-男
helper.setChecked(R.id.cb_girl,true);
} else if (sex == 1) {
helper.setChecked(R.id.cb_man,true);
}
helper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.cb_man) {
sex = 1;
helper.setChecked(R.id.cb_girl,false);
} else if (id == R.id.cb_girl) {
sex = 0;
helper.setChecked(R.id.cb_man,false);
} else if (id == R.id.tv_ok) {
if (sex == 0) { // 0-女,1-男
tvSex.setText("女");
} else if (sex == 1) {
tvSex.setText("男");
}
dismiss();
}
}
}, R.id.cb_man, R.id.cb_girl, R.id.tv_ok);
}
}.show();
}
/**
* 显示相机弹窗
*/
......@@ -280,17 +324,17 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
private void upUserinfo() {
String nickName = etNickname.getText().toString().trim();
if (TextUtil.isEmpty(nickName)){
if (TextUtil.isEmpty(nickName)) {
showToast("昵称不为空!");
return;
}
String dataBirth = tvDateOfBirth.getText().toString();
if (TextUtil.isEmpty(dataBirth)){
if (TextUtil.isEmpty(dataBirth)) {
showToast("生日不为空!");
return;
}
mPresenter.postBodyData(RvFrameConfig.ADMIN_POST, 1, ApiConfig.HTTP_URL_UPUSER_EDIT, BaseBean.class, new UserInfo(info.getId()+"", info.getUserid()+"", info.getUsername(), "0", nickName,info.getRealname(),ivAvatarUrl,dataBirth), getHeadMap(), true);
mPresenter.postBodyData(RvFrameConfig.ADMIN_POST, 1, ApiConfig.HTTP_URL_UPUSER_EDIT, BaseBean.class, new UserInfo(info.getId() + "", info.getUserid() + "", info.getUsername(), "0", nickName, info.getRealname(), ivAvatarUrl, dataBirth,sex), getHeadMap(), true);
}
private Map<String, Object> getHeadMap() {
......@@ -310,8 +354,9 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
private String realname;//":"何振",
private String headimgurl;//": "https://xxtest.upyuns.com/image/app/default_%20avatar.png"
private String birthday;
private int sex;
public UserInfo(String id, String userid, String username, String status, String nickname, String realname, String headimgurl,String birthday) {
public UserInfo(String id, String userid, String username, String status, String nickname, String realname, String headimgurl, String birthday, int sex) {
this.id = id;
this.userid = userid;
this.username = username;
......@@ -320,6 +365,7 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
this.realname = realname;
this.headimgurl = headimgurl;
this.birthday = birthday;
this.sex = sex;
}
public String getId() {
......@@ -385,6 +431,14 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
}
......
......@@ -162,7 +162,7 @@
android:gravity="center_horizontal"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/mycenter_icon_id_card_btn"
android:src="@drawable/common_icon_front"
android:layout_width="@dimen/size_45"
android:layout_height="@dimen/size_30" />
<TextView
......@@ -196,7 +196,7 @@
android:gravity="center_horizontal"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/mycenter_icon_id_card_btn"
android:src="@drawable/common_icon_verso"
android:layout_width="@dimen/size_45"
android:layout_height="@dimen/size_30" />
<TextView
......
......@@ -323,7 +323,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/mycenter_icon_myrelease" />
android:src="@drawable/mycenter_icon_issue" />
<TextView
android:layout_width="wrap_content"
......@@ -452,7 +452,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/mycenter_icon_traveler" />
android:src="@drawable/mycenter_icon_visitors" />
<TextView
android:layout_width="wrap_content"
......@@ -472,21 +472,6 @@
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/mycenter_icon_mypat" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/size_18"
android:text="我的拍拍"
android:textColor="@color/colorMain"
android:textSize="@dimen/size_12" />
</RelativeLayout>
<RelativeLayout
......
<?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:layout_marginLeft="@dimen/size_40"
android:layout_marginRight="@dimen/size_40"
android:background="@color/colorWrite"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_130"
android:gravity="center"
android:orientation="horizontal">
<CheckBox
android:id="@+id/cb_man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="true"
android:text="男"
android:textSize="@dimen/text_16"
android:paddingLeft="@dimen/size_5"
android:button="@drawable/selector_rv_check" />
<CheckBox
android:id="@+id/cb_girl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_100"
android:enabled="true"
android:text="女"
android:paddingLeft="@dimen/size_5"
android:textSize="@dimen/text_16"
android:button="@drawable/selector_rv_check" />
</LinearLayout>
<include layout="@layout/common_line" />
<TextView
android:id="@+id/tv_ok"
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:background="@color/colorYellow"
android:gravity="center"
android:text="确认" />
</LinearLayout>
\ No newline at end of file
......@@ -40,5 +40,6 @@ dependencies {
annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
implementation 'com.github.zcweng:switch-button:0.0.3@aar'
api project(':component_dialog')
api project(':plugin_search')
api project(':RvWrapper')
}
......@@ -33,10 +33,11 @@ import com.rv.tourism.adapter.PopularBrigadeAdapter;
import com.rv.tourism.adapter.TourAroundAdapter;
import com.rv.tourism.api.TourismApi;
import com.rv.tourism.bean.BeanPopularBrigade;
import com.rv.tourism.bean.BeanPopularBrigadeAll;
import com.rv.tourism.bean.BeanTourAround;
import com.rv.tourism.bean.BeanTourismBanner;
import com.rv.tourism.other.PopularTourListActivity;
import com.rv.tourism.other.TravelDetailsActivity;
import com.rv.tourism.presenter.TourismPresenter;
import com.yuyife.banner.Banner;
import com.yuyife.banner.BannerConfig;
......@@ -138,7 +139,7 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
mAllPopularAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
BeanPopularBrigade.DataBean item = (BeanPopularBrigade.DataBean) adapter.getItem(position);
BeanPopularBrigadeAll.DataBeanX.DataBean item = (BeanPopularBrigadeAll.DataBeanX.DataBean) adapter.getItem(position);
startActivity(PopularTourListActivity.getIntent(_mActivity, item.getName(), item.getId()));
llLayoutPopularMore.setVisibility(View.GONE);
}
......@@ -150,7 +151,10 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
BeanTourAround.DataBeanX.DataBean dataBean = (BeanTourAround.DataBeanX.DataBean) adapter.getItem(position);
ARouter.getInstance()
.build(Constance.ACTIVITY_URL_TRAVELDETAILS)
.withString("id",dataBean.getId())
.withString("id", dataBean.getId())
.withString("name", dataBean.getName())
.withString("content", dataBean.getContent())
.withString("url", dataBean.getCover())
.navigation();
}
});
......@@ -161,10 +165,11 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
loadBannerData();
loadPopularBrigadeData();
loadTourAroundData();
loadPopularBrigadeAllData();
}
@OnClick({R2.id.travel_city_layout, R2.id.travel_server_image, R2.id.ll_item_popular_brigade_many, R2.id.travel_hot_more_close,R2.id.iv_popular_brigade_many})
@OnClick({R2.id.travel_city_layout, R2.id.ll_item_search, R2.id.travel_server_image, R2.id.ll_item_popular_brigade_many, R2.id.travel_hot_more_close, R2.id.iv_popular_brigade_many})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.travel_city_layout) {
......@@ -175,6 +180,13 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
.withInt("mCityId", mTourismCityId)
.navigation(getActivity(), TYPE_REQUEST_CITY);
} else if (id == R.id.ll_item_search) {
//搜索
ARouter.getInstance()
.build(Constance.ACTIVITY_URL_TRAVELSEARCH)
.withDouble("latLatitude",latLatitude)
.withDouble("lonLongitude",lonLongitude)
.navigation();
} else if (id == R.id.travel_server_image) {
} else if (id == R.id.ll_item_popular_brigade_many || id == R.id.iv_popular_brigade_many) {
......@@ -216,6 +228,17 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
mPresenter.getData(1, TourismApi.QUERY_HOT_LIST, BeanPopularBrigade.class, map, false);
}
/**
* 获取全部
*/
private void loadPopularBrigadeAllData() {
HashMap<String, String> map = new HashMap<>();
map.put("hot", "0");
map.put("page", "1");
map.put("limit", "50");
mPresenter.getData(3, TourismApi.QUERY_HOT_LIST, BeanPopularBrigadeAll.class, map, false);
}
/**
* 获取轮播图
*/
......@@ -237,9 +260,16 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
case 2:
tourAround((BeanTourAround) result);
break;
case 3:
popularBrigadeAll((BeanPopularBrigadeAll) result);
break;
}
}
private void popularBrigadeAll(BeanPopularBrigadeAll data) {
mAllPopularAdapter.addData(data.getData().getData());
}
private void tourAround(BeanTourAround bean) {
if (mPage == 1) {
if (bean.getData().getTotalCount() == 0) {
......@@ -259,7 +289,6 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
private void popularBrigade(BeanPopularBrigade result) {
mPopularBrigadeAdapter.addData(result.getData());
mAllPopularAdapter.addData(result.getData());
}
......
......@@ -6,17 +6,18 @@ import com.chad.library.adapter.base.BaseViewHolder;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.rv.tourism.R;
import com.rv.tourism.bean.BeanPopularBrigade;
import com.rv.tourism.bean.BeanPopularBrigadeAll;
/**
*全部热门游 adapter
*/
public class AllPopularAdapter extends BaseQuickAdapter<BeanPopularBrigade.DataBean, BaseViewHolder> {
public class AllPopularAdapter extends BaseQuickAdapter<BeanPopularBrigadeAll.DataBeanX.DataBean, BaseViewHolder> {
public AllPopularAdapter() {
super(R.layout.rv_item_all_popular);
}
@Override
protected void convert(BaseViewHolder helper, BeanPopularBrigade.DataBean item) {
protected void convert(BaseViewHolder helper, BeanPopularBrigadeAll.DataBeanX.DataBean item) {
GlideManager.getInstance(mContext).loadImage(item.getImg(), (ImageView)helper.getView(R.id.iv_icon));
helper.setText(R.id.tv_hot,item.getName());
}
......
......@@ -26,6 +26,15 @@ public class VisitorInformationAdapter extends BaseQuickAdapter<BeanVisitorInfor
helper.setText(R.id.tv_people_type, "儿童");
}
if (item ==null|| TextUtil.isEmpty(item.getName()) ||TextUtil.isEmpty(item.getPhone())){
helper.setGone(R.id.tv_hint,true);
helper.setGone(R.id.ll_item_content,false);
return;
}
helper.setGone(R.id.tv_hint,false);
helper.setGone(R.id.ll_item_content,true);
helper.setText(R.id.tv_name,item.getName());
helper.setText(R.id.tv_phone,item.getPhone());
if (TextUtil.isEmpty(item.getIdCard())) {
......
......@@ -9,7 +9,7 @@ public interface TourismApi extends RvFrameConfig {
String QUERY_COMPANY_DETAIL = HOST + "/vehicle/branchCompany/app/unauth/detail/";
//查询Banner get
String QUERY_BANNER_MAIN = HOST + "/api/tour/tourBanner/app/unauth/findBannerlist";
String QUERY_BANNER_HOT = HOST + "/api/tour/tourTagBanner/app/unauth/findById/";
String QUERY_BANNER_HOT = HOST + "/api/tour/tourTagBanner/app/unauth/findByType/";
//周边游、推荐路线 get 需要传query关键字,没有关键字就""
String QUERY_RIM_LIST = HOST + "/api/tour/tourGood/app/unauth/getGoodList";
//热门游 路线 get
......
......@@ -56,6 +56,7 @@ public class BeanOrderParam implements Serializable {
private String startTime;//"2019-06-20",
private String startCompanyId;//"0",
private String startCompanyName;//"欣新房车控股集团"
private String siteId;
public String getAdultNum() {
return adultNum;
......@@ -121,5 +122,11 @@ public class BeanOrderParam implements Serializable {
this.startCompanyName = startCompanyName;
}
public String getSiteId() {
return siteId;
}
public void setSiteId(String siteId) {
this.siteId = siteId;
}
}
package com.rv.tourism.bean;
import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.ruiwenliu.wrapper.base.BaseBean;
import java.io.Serializable;
import java.util.List;
public class BeanPopularBrigadeAll extends BaseBean {
private DataBeanX data;
private boolean rel;
public DataBeanX getData() {
return data;
}
public void setData(DataBeanX data) {
this.data = data;
}
public boolean isRel() {
return rel;
}
public void setRel(boolean rel) {
this.rel = rel;
}
public static class DataBeanX {
private int totalCount;
private int totalPage;
private int pageNum;
private int pageSize;
private List<DataBean> data;
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean{
private String id;// 1,
private String name;// "上海游",
private String describe;// "测试",
private String isHot;// 1,
private String count;// 0,
private String rank;// 1,
private String isDel;// 0
private String img;// 0
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
public String getIsHot() {
return isHot;
}
public void setIsHot(String isHot) {
this.isHot = isHot;
}
public String getCount() {
return count;
}
public void setCount(String count) {
this.count = count;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public String getIsDel() {
return isDel;
}
public void setIsDel(String isDel) {
this.isDel = isDel;
}
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
}
}
}
......@@ -28,6 +28,7 @@ import com.rv.tourism.adapter.AllPopularAdapter;
import com.rv.tourism.adapter.RecommendedRouteAdapter;
import com.rv.tourism.api.TourismApi;
import com.rv.tourism.bean.BeanPopularBrigade;
import com.rv.tourism.bean.BeanPopularBrigadeAll;
import com.rv.tourism.bean.BeanTourAround;
import com.rv.tourism.bean.BeanTourismBanner;
import com.rv.tourism.presenter.TourismPresenter;
......@@ -114,7 +115,7 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
mAllPopularAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
BeanPopularBrigade.DataBean item = (BeanPopularBrigade.DataBean) adapter.getItem(position);
BeanPopularBrigadeAll.DataBeanX.DataBean item = (BeanPopularBrigadeAll.DataBeanX.DataBean) adapter.getItem(position);
id = item.getId();
titleView.setTitle(item.getName());
mRecommendedRouteAdapter.getData().clear();
......@@ -131,6 +132,9 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
ARouter.getInstance()
.build(Constance.ACTIVITY_URL_TRAVELDETAILS)
.withString("id",item.getId())
.withString("name",item.getName())
.withString("content",item.getContent())
.withString("url",item.getCover())
.navigation();
}
});
......@@ -166,10 +170,10 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
*/
private void loadPopularBrigadeData() {
HashMap<String, String> map = new HashMap<>();
map.put("hot", "1");
map.put("hot", "0");
map.put("page", "1");
map.put("limit", "50");
mPresenter.getData(2, TourismApi.QUERY_HOT_LIST, BeanPopularBrigade.class, map, false);
mPresenter.getData(2, TourismApi.QUERY_HOT_LIST, BeanPopularBrigadeAll.class, map, false);
}
......@@ -200,13 +204,13 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
PopularTourList((BeanTourAround) result);
break;
case 2:
popularBrigade((BeanPopularBrigade) result);
popularBrigade((BeanPopularBrigadeAll) result);
break;
}
}
private void popularBrigade(BeanPopularBrigade result) {
mAllPopularAdapter.addData(result.getData());
private void popularBrigade(BeanPopularBrigadeAll result) {
mAllPopularAdapter.addData(result.getData().getData());
}
private void BannerData(BeanTourismBanner data) {
......
package com.rv.tourism.other;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Build;
......@@ -28,6 +28,7 @@ import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.util.um.CustomShareListener;
import com.ruiwenliu.wrapper.util.um.ShareManager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.ruiwenliu.wrapper.weight.refresh.IFooterWrapper;
import com.rv.tourism.R;
import com.rv.tourism.R2;
import com.rv.tourism.api.TourismApi;
......@@ -74,9 +75,19 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
private String mCollectId;
private static String isCollection = "0"; //0 没有收藏 1 收藏
@Autowired()
@Autowired()
String id;
@Autowired()
String name;
@Autowired()
String content;
@Autowired()
String url;
// public static Intent getIntent(Context context, BeanTourAround.DataBeanX.DataBean dataBean) {
// return new Intent(context, TravelDetailsActivity.class)
// .putExtra("dataBean", dataBean);
......@@ -92,22 +103,15 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
showTitle(false);
webUrl = "https://xxtest.upyuns.com/h5/appHtml/view/travelDetails.html?id=" + id;
initWeb();
// initShare(webUrl, mCarBean.getVehicleModel().getName(), mCarBean.getCompany().getAddrDetail(), mCarBean.getVehicleModel().getPicture());
initShare(webUrl, name, content, url);
}
boolean check = true;
@OnClick({R2.id.iv_back,R2.id.tv_appointment, R2.id.iv_collect, R2.id.iv_share, R2.id.tv_customer_service})
@OnClick({R2.id.iv_back, R2.id.tv_appointment, R2.id.iv_collect, R2.id.iv_share, R2.id.tv_customer_service})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.iv_back){
if (check) {
llItemBottom.setVisibility(View.VISIBLE);
}else {
llItemBottom.setVisibility(View.GONE);
}
check = !check;
}else if (id == R.id.iv_collect) {
if (id == R.id.iv_back) {
finish();
} else if (id == R.id.iv_collect) {
//收藏
if ("1".equals(isCollection)) {
cancelCollect();
......@@ -117,6 +121,9 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
} else if (id == R.id.iv_share) {
//分享
if (shareManager != null) {
shareManager.open();
}
} else if (id == R.id.tv_customer_service) {
//联系客户
......@@ -128,6 +135,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
// startActivity(LoginRvActivity.getIntent(mActivity));
return;
}
// mWebView.loadUrl("JavaScript:getTourStock()"); // Android调用h5
mWebView.loadUrl("JavaScript:openModal()"); // Android调用h5
llItemBottom.setVisibility(View.GONE);
}
......@@ -137,7 +145,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null) {
headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postBodyData(RvFrameConfig.HOST, 2, TourismApi.COMMIT_COLLECT_REMOVE, BaseBean.class, new CancelCollection(mCollectId,"1"), headMap, false);
mPresenter.postBodyData(RvFrameConfig.HOST, 2, TourismApi.COMMIT_COLLECT_REMOVE, BaseBean.class, new CancelCollection(mCollectId, "1"), headMap, false);
}
}
......@@ -323,6 +331,16 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
llItemBottom.setVisibility(View.VISIBLE);
}
@JavascriptInterface
public void tourStock(int num) {
if (num > 0) {
showToast("44444444");
// mWebView.loadUrl("JavaScript:openModal()"); // Android调用h5
} else {
showToast("库存不足!");
}
}
@JavascriptInterface
public void readyOrder(String orderJson) {
if (!TextUtil.isEmpty(orderJson)) {
......@@ -379,7 +397,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
private String typeId;
private String type;
public AddCollection( String typeId, String type) {
public AddCollection(String typeId, String type) {
this.typeId = typeId;
this.type = type;
}
......
......@@ -315,7 +315,7 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postBodyData(RvFrameConfig.ADMIN_POST, payType, TourismApi.COMMIT_ORDER, BeanTourOrderResponse.class, new Tourist(etMailbox.getText().toString().trim(), name,phone,dataBean.getEndAddr(),endTime,dataBean.getGoodId(),ids,dataBean.getSpePriceId(),dataBean.getStartAddr(),dataBean.getStartCompanyId(),startTime),headMap, true);
mPresenter.postBodyData(RvFrameConfig.ADMIN_POST, payType, TourismApi.COMMIT_ORDER, BeanTourOrderResponse.class, new Tourist(etMailbox.getText().toString().trim(), name,phone,dataBean.getEndAddr(),endTime,dataBean.getGoodId(),ids,dataBean.getSpePriceId(),dataBean.getStartAddr(),dataBean.getStartCompanyId(),startTime,dataBean.getSiteId()),headMap, true);
}
......@@ -363,8 +363,9 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
private String startAddr;
private String startCompanyId;
private String startTime;
private String siteId;
public Tourist(String contactEmail, String contactMan, String contactPhone, String endAddr, String endTime, String goodId, String tourUserIds, String spePriceId, String startAddr, String startCompanyId, String startTime) {
public Tourist(String contactEmail, String contactMan, String contactPhone, String endAddr, String endTime, String goodId, String tourUserIds, String spePriceId, String startAddr, String startCompanyId, String startTime,String siteId) {
this.contactEmail = contactEmail;
this.contactMan = contactMan;
this.contactPhone = contactPhone;
......@@ -376,6 +377,7 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
this.startAddr = startAddr;
this.startCompanyId = startCompanyId;
this.startTime = startTime;
this.siteId = siteId;
}
public String getContactEmail() {
......@@ -465,6 +467,14 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getSiteId() {
return siteId;
}
public void setSiteId(String siteId) {
this.siteId = siteId;
}
}
public class payBody {
......
......@@ -323,6 +323,7 @@
android:textColor="@color/textGray" />
<TextView
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择出游人"
......
......@@ -58,6 +58,7 @@
<LinearLayout
android:id="@+id/ll_item_search"
android:layout_width="0dp"
android:layout_height="@dimen/size_40"
android:layout_marginLeft="@dimen/size_10"
......
......@@ -4,73 +4,77 @@
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lay_title"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
android:layout_height="@dimen/size_55"
android:background="@color/colorWrite">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
<ImageView
android:id="@+id/iv_back"
android:layout_width="@dimen/size_32"
android:layout_height="@dimen/size_32"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/size_5"
android:padding="@dimen/size_8"
android:src="@drawable/rv_common_icon_back_dark" />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lay_title"
android:layout_width="match_parent"
android:layout_height="@dimen/size_55">
<TextView
android:id="@+id/tv_center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:ellipsize="end"
android:gravity="center"
android:maxWidth="320dp"
android:maxLines="1"
android:textColor="@color/textMain"
android:textSize="@dimen/text_18" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_back"
android:id="@+id/iv_collect"
android:layout_width="@dimen/size_32"
android:layout_height="@dimen/size_32"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/size_5"
android:layout_marginRight="@dimen/size_5"
android:padding="@dimen/size_8"
android:src="@drawable/rv_common_icon_back_dark" />
<TextView
android:id="@+id/tv_center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:ellipsize="end"
android:gravity="center"
android:maxWidth="320dp"
android:maxLines="1"
android:textColor="@color/textMain"
android:textSize="@dimen/text_18" />
android:src="@drawable/tourism_rv_collect" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
<ImageView
android:id="@+id/iv_share"
android:layout_width="@dimen/size_32"
android:layout_height="@dimen/size_32"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:orientation="horizontal">
android:layout_marginRight="@dimen/size_5"
android:padding="@dimen/size_8"
android:src="@drawable/tourism_rv_rentingcar_icon_share" />
<ImageView
android:id="@+id/iv_collect"
android:layout_width="@dimen/size_32"
android:layout_height="@dimen/size_32"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/size_5"
android:padding="@dimen/size_8"
android:src="@drawable/tourism_rv_collect" />
</LinearLayout>
</RelativeLayout>
<ImageView
android:id="@+id/iv_share"
android:layout_width="@dimen/size_32"
android:layout_height="@dimen/size_32"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/size_5"
android:padding="@dimen/size_8"
android:src="@drawable/tourism_rv_rentingcar_icon_share" />
<include layout="@layout/common_line" />
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
</RelativeLayout>
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
<include layout="@layout/common_line" />
......
......@@ -17,7 +17,19 @@
android:textColor="@color/colorMain"
android:textSize="@dimen/text_16" />
<TextView
android:id="@+id/tv_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择出游人"
android:layout_marginLeft="@dimen/size_20"
android:textColor="@color/text_Gray"
android:textSize="@dimen/text_14" />
<LinearLayout
android:id="@+id/ll_item_content"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_30"
......
......@@ -38,5 +38,6 @@ dependencies {
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
api project(':RvWrapper')
api project(':component_resource')
}
......@@ -2,17 +2,52 @@ package com.rv.search;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.EditText;
import com.alibaba.android.arouter.facade.annotation.Autowired;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.base.url.Constance;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.presenter.MvpPresenter;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.plugin.search.R;
import com.rv.plugin.search.R2;
import com.rv.search.adapter.TravelSearchAdapter;
import com.rv.search.api.SearchApi;
import com.rv.search.bean.BeanTravelSearch;
import com.rv.search.presenter.SearchPresenter;
import java.util.HashMap;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* 旅游搜索
*/
public class TravelSearchActivity extends BaseStatusActivity<MvpPresenter> {
@Route(path = Constance.ACTIVITY_URL_TRAVELSEARCH)
public class TravelSearchActivity extends BaseStatusActivity<SearchPresenter> {
@BindView(R2.id.et_search)
EditText etSearch;
@BindView(R2.id.rv_content)
RecyclerView rvContent;
private int mPage;
private int countPage;
@Autowired()
double latLatitude = 0;
@Autowired()
double lonLongitude;
private TravelSearchAdapter mTravelSearchAdapter;
@Override
protected int setLayout() {
......@@ -21,11 +56,89 @@ public class TravelSearchActivity extends BaseStatusActivity<MvpPresenter> {
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
showTitle(false);
mTravelSearchAdapter = new TravelSearchAdapter();
rvContent.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
rvContent.setAdapter(mTravelSearchAdapter);
mTravelSearchAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
BeanTravelSearch.DataBeanX.DataBean dataBean = (BeanTravelSearch.DataBeanX.DataBean) adapter.getItem(position);
if (dataBean !=null){
ARouter.getInstance()
.build(Constance.ACTIVITY_URL_TRAVELDETAILS)
.withString("id", dataBean.getId())
.withString("name", dataBean.getName())
.withString("content", dataBean.getContent())
.withString("url", dataBean.getCover())
.navigation();
finish();
}
}
});
}
@OnClick({R2.id.iv_back, R2.id.tv_search})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.iv_back){
finish();
}else if (id == R.id.tv_search){
String content = etSearch.getText().toString().trim();
loadTourAroundData(content);
}
}
@Override
public void onShowResult(int requestType, BaseBean result) {
switch (requestType){
case 0:
setData((BeanTravelSearch) result);
break;
}
}
private void setData(BeanTravelSearch data) {
if (mPage == 1) {
mTravelSearchAdapter.getData().clear();
mTravelSearchAdapter.notifyDataSetChanged();
if (data.getData().getTotalCount() == 0) {
mTravelSearchAdapter.setEmptyView(getEmptyView(rvContent, -1, "暂无数据!"));
return;
}
countPage = data.getData().getTotalPage();
mTravelSearchAdapter.addNewData(data);
mTravelSearchAdapter.loadMoreComplete();
} else {
mTravelSearchAdapter.addData(data.getData().getData());
mTravelSearchAdapter.loadMoreComplete();
}
}
/**
* 获取周边游
*/
private void loadTourAroundData(String search) {
mPage = 1;
getLoadTourAroundData(mPage,search);
}
private void getLoadTourAroundData(int page,String search) {
HashMap<String, Object> map = new HashMap<>();
map.put("tagId", "");
map.put("query", search);
map.put("page", page);
map.put("limit", "10");
map.put("latitudel", latLatitude);
map.put("longitude", lonLongitude);
mPresenter.getData(0, SearchApi.QUERY_RIM_LIST, BeanTravelSearch.class, map, false);
}
}
package com.rv.search.adapter;
import android.widget.ImageView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.rv.plugin.search.R;
import com.rv.search.bean.BeanTravelSearch;
/**
* 周边游 adapter
*/
public class TravelSearchAdapter extends BaseQuickAdapter<BeanTravelSearch.DataBeanX.DataBean, BaseViewHolder> {
public TravelSearchAdapter() {
super(R.layout.rv_item_travel_search);
}
@Override
protected void convert(BaseViewHolder helper, BeanTravelSearch.DataBeanX.DataBean item) {
GlideManager.getInstance(mContext).loadRoundImage(item.getCover(), (ImageView)helper.getView(R.id.iv_goods),10);
helper.setText(R.id.tv_name,item.getName());
helper.setText(R.id.tv_price,String.format("¥%1$s%2$s",item.getPrice(),item.getUnit()));
}
public void addNewData(BeanTravelSearch bean) {
mData.clear();
addData(bean.getData().getData());
notifyDataSetChanged();
}
}
package com.rv.search.api;
import com.frame.rv.config.RvFrameConfig;
public interface SearchApi extends RvFrameConfig {
//周边游、推荐路线 get 需要传query关键字,没有关键字就""
String QUERY_RIM_LIST = HOST + "/api/tour/tourGood/app/unauth/getGoodList";
}
package com.rv.search.bean;
import com.ruiwenliu.wrapper.base.BaseBean;
import java.io.Serializable;
import java.util.List;
public class BeanTravelSearch extends BaseBean {
private DataBeanX data;
private boolean rel;
public DataBeanX getData() {
return data;
}
public void setData(DataBeanX data) {
this.data = data;
}
public boolean isRel() {
return rel;
}
public void setRel(boolean rel) {
this.rel = rel;
}
public static class DataBeanX {
private int totalCount;
private int totalPage;
private int pageNum;
private int pageSize;
private List<DataBean> data;
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean implements Serializable {
private String id;//37,
private String name;//"04-05号 惠州长荣大观园2日游",
private String cover;//"https://xxtest.upyuns.com/image/app/ENRq748FQTq86R8R77J88YEWhnPeZ3.png",
private String price;//880,
private String childPrice;//500,
private String viewCount;//15,
private String saleCount;//6,
private String describe;//"",
private String content;//"
private String introduce;//
private String explain;//
private String rank;//8,
private String status;//1,
private String crtTime;//1556249282,
private String updTime;//1558418424,
private String recommend;//1,
private String isMember;//1,
private String stock;//44,
private String unit;//"元/人",
private String isDel;//0
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCover() {
return cover;
}
public void setCover(String cover) {
this.cover = cover;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getChildPrice() {
return childPrice;
}
public void setChildPrice(String childPrice) {
this.childPrice = childPrice;
}
public String getViewCount() {
return viewCount;
}
public void setViewCount(String viewCount) {
this.viewCount = viewCount;
}
public String getSaleCount() {
return saleCount;
}
public void setSaleCount(String saleCount) {
this.saleCount = saleCount;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getIntroduce() {
return introduce;
}
public void setIntroduce(String introduce) {
this.introduce = introduce;
}
public String getExplain() {
return explain;
}
public void setExplain(String explain) {
this.explain = explain;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCrtTime() {
return crtTime;
}
public void setCrtTime(String crtTime) {
this.crtTime = crtTime;
}
public String getUpdTime() {
return updTime;
}
public void setUpdTime(String updTime) {
this.updTime = updTime;
}
public String getRecommend() {
return recommend;
}
public void setRecommend(String recommend) {
this.recommend = recommend;
}
public String getIsMember() {
return isMember;
}
public void setIsMember(String isMember) {
this.isMember = isMember;
}
public String getStock() {
return stock;
}
public void setStock(String stock) {
this.stock = stock;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getIsDel() {
return isDel;
}
public void setIsDel(String isDel) {
this.isDel = isDel;
}
}
}
}
package com.rv.search.presenter;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.presenter.MvpPresenter;
/**
* Created by Amuse
* Date:2019/3/4.
* Desc:
*/
public class SearchPresenter extends MvpPresenter {
@Override
/**
* 域名地址
*/
public String getBaseUrl() {
return RvFrameConfig.AUTH_POST;
}
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/size_60" />
<solid android:color="@color/colorLine" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:background="@color/colorWrite"
android:layout_height="match_parent"
tools:context="com.rv.search.TravelSearchActivity">
android:orientation="vertical">
</android.support.constraint.ConstraintLayout>
\ No newline at end of file
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:layout_marginTop="@dimen/size_10"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_back"
android:layout_width="@dimen/size_32"
android:layout_height="@dimen/size_32"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/size_5"
android:padding="@dimen/size_8"
android:src="@drawable/rv_common_icon_back_dark" />
<EditText
android:id="@+id/et_search"
android:layout_width="0dp"
android:layout_height="@dimen/size_40"
android:layout_weight="1"
android:background="@drawable/shape_rv_travel_search_line"
android:drawableLeft="@drawable/search"
android:drawablePadding="@dimen/size_15"
android:hint="搜索目的地/旅游线"
android:paddingLeft="@dimen/size_15"
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
<TextView
android:id="@+id/tv_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_10"
android:layout_marginRight="@dimen/size_10"
android:padding="@dimen/size_5"
android:text="搜索" />
</LinearLayout>
<include layout="@layout/common_line" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
</LinearLayout>
\ No newline at end of file
<?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">
<include layout="@layout/common_line" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:orientation="horizontal"
android:paddingLeft="@dimen/size_15"
android:paddingTop="@dimen/size_15"
android:paddingRight="@dimen/size_15"
android:paddingBottom="@dimen/size_15">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_goods"
android:layout_width="@dimen/size_120"
android:layout_height="@dimen/size_80"
android:scaleType="centerCrop" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_rv_bg_purple"
android:padding="@dimen/size_5"
android:text="房车游"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_10" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/size_8">
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="草原大漠6天5晚,穿越沙漠+宗教人文+房车露营"
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
<TextView
android:id="@+id/tv_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:text="¥5000/人"
android:textColor="@color/colorAuxiliaryRed"
android:textSize="@dimen/text_16" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
//include ':WXPay'
include ':RvFrame', ':plugin_search'
include ':RvFrame', ':plugin_search', ':component_utils'
include ':RvTravel'
include ':RvClient'
include ':RvWrapper'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment