This commit is contained in:
2020-08-14 16:49:32 +08:00
parent 562a4f8df0
commit 95debe68f4
50 changed files with 1396 additions and 100 deletions

View File

@@ -4,11 +4,11 @@ android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.administrator.newjiajiesone"
minSdkVersion 15
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
@@ -21,13 +21,13 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
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'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
implementation project(path: ':baselibs')
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
// implementation 'com.squareup.okhttp3:okhttp:3.11.0'
@@ -36,7 +36,7 @@ dependencies {
//RecyclerAdapter框架
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
implementation 'com.jcodecraeer:xrecyclerview:1.3.2'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.journeyapps:zxing-android-embedded:3.3.0'
//状态栏颜色
implementation 'com.readystatesoftware.systembartint:systembartint:1.0.4'

View File

@@ -1,10 +1,10 @@
package com.example.administrator.seven;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;

View File

@@ -6,11 +6,11 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.IdRes;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.appcompat.app.AppCompatActivity;
import android.text.TextPaint;
import android.util.TypedValue;
import android.view.View;

View File

@@ -5,8 +5,8 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.v4.app.Fragment;
import android.support.v4.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.core.content.ContextCompat;
import android.text.TextPaint;
import android.widget.TextView;

View File

@@ -5,10 +5,10 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.v4.widget.SwipeRefreshLayout;
import androidx.annotation.IdRes;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.util.TypedValue;
import android.view.View;
import android.view.inputmethod.InputMethodManager;

View File

@@ -5,10 +5,10 @@ import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.v4.widget.SwipeRefreshLayout;
import androidx.annotation.IdRes;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;

View File

@@ -1,8 +1,8 @@
package com.example.administrator.seven.base;
import android.app.Activity;
import android.support.annotation.StringRes;
import android.support.annotation.UiThread;
import androidx.annotation.StringRes;
import androidx.annotation.UiThread;
import com.hannesdorfmann.mosby3.mvp.MvpView;

View File

@@ -4,9 +4,9 @@ import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;

View File

@@ -1,8 +1,8 @@
package com.example.administrator.seven.main.Fragment;
import android.annotation.SuppressLint;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -2,7 +2,7 @@ package com.example.administrator.seven.main.activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;
import android.text.Html;
import android.view.View;
import android.widget.Button;

View File

@@ -1,7 +1,7 @@
package com.example.administrator.seven.main.activity;
import android.os.CountDownTimer;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;
import android.text.Html;
import android.view.View;
import android.widget.Button;

View File

@@ -1,19 +1,19 @@
package com.example.administrator.seven.main.activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.example.administrator.seven.R;
import com.example.administrator.seven.base.BaseActivity;
import com.example.administrator.seven.main.Fragment.HomeFragment;
import com.example.administrator.seven.main.Fragment.MapFragment;
import com.example.administrator.seven.main.Fragment.MyFragment;
import com.example.administrator.seven.main.Fragment.SendFragment;
import com.example.administrator.seven.main.task.HomeFragment;
import com.example.administrator.seven.main.find.MapFragment;
import com.example.administrator.seven.main.my.MyFragment;
import com.example.administrator.seven.main.zhibo.SendFragment;
public class MainActivity extends BaseActivity implements View.OnClickListener{

View File

@@ -3,7 +3,7 @@ package com.example.administrator.seven.main.activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import androidx.annotation.Nullable;
import android.view.KeyEvent;
import android.view.WindowManager;
import com.example.administrator.seven.base.BaseActivity;

View File

@@ -1,8 +1,8 @@
package com.example.administrator.seven.main.activity.mine;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

View File

@@ -1,8 +1,8 @@
package com.example.administrator.seven.main.activity.mine;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

View File

@@ -1,8 +1,8 @@
package com.example.administrator.seven.main.activity.mine;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

View File

@@ -1,7 +1,7 @@
package com.example.administrator.seven.main.adapter;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import androidx.viewpager.widget.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.example.administrator.seven.main.Fragment;
package com.example.administrator.seven.main.find;
import com.example.administrator.seven.base.BaseFragment;

View File

@@ -0,0 +1,196 @@
package com.example.administrator.seven.main.kehu;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.administrator.seven.R;
import com.example.administrator.seven.main.entity.Savaselect;
import com.example.administrator.seven.main.kehu.adapter.MarkingTwoAdapter;
import com.example.administrator.seven.test.BaseFragment;
import java.util.List;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
/**
* 功能:已流失
* 返回值:空
* 时间2017/7/17/017 14:52
*/
@SuppressLint("ValidFragment")
public class CustomerFragment extends BaseFragment {
public static final String ARG_PAGE = "ARG_PAGE";
private boolean IS_LOADED = false;
private static int mSerial = 0;
private int mTabPos = 0;
private boolean isFirst = true;
@SuppressLint("HandlerLeak")
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
Log.e("tag", "IS_LOADED=" + IS_LOADED);
if (!IS_LOADED) {
IS_LOADED = true;
//请求我的客户已流失数据
requestmakingyiliushidata("2", "", true);
}
return;
}
;
};
private MarkingTwoAdapter markingtwoAdapter;
private Savaselect savaselectbean;
public CustomerFragment(int serial, Savaselect savaselect) {
mSerial = serial;
this.savaselectbean = savaselect;
}
public void sendMessage() {
Message message = handler.obtainMessage();
message.sendToTarget();
}
public void setTabPos(int mTabPos) {
this.mTabPos = mTabPos;
}
private String uid;
private RecyclerView mMarkingFragmentRecyclerView;
private SwipeRefreshLayout mSwl;
private int mNextRequestPage = 1;
private static final int PAGE_SIZE = 10;
View view;
private View notDataView;
private View errorView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = getActivity();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (view != null) {
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null) {
parent.removeView(view);
}
return view;
}
// uid = (String) SPUtils.getSp(getActivity(), FHConfig.KEY_USER_UID, "");
view = inflater.inflate(R.layout.criclefragmenttwo, container, false);
initView(view);
//设置页和当前页一致时加载,防止预加载
if (isFirst && mTabPos == mSerial) {
isFirst = false;
sendMessage();
}
return view;
}
private void initView(View mContentView) {
mMarkingFragmentRecyclerView = (RecyclerView) view.findViewById(R.id.marking_fragment_recyclerView);
mSwl = mContentView.findViewById(R.id.srl);
notDataView = getActivity().getLayoutInflater().inflate(R.layout.empty_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false);
notDataView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// refresh("1");
}
});
errorView = getActivity().getLayoutInflater().inflate(R.layout.error_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false);
errorView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// onRefresh();
}
});
}
public void sendMessagetwo() {
requestmakingyiliushidata("2", "", true);
}
public void requestmakingyiliushidata(String type, String key, Boolean show) {
initAdapter("2", "");
initRefreshLayout("2", "");
mSwl.setRefreshing(true);
refresh("2", "");
}
private void initAdapter(final String type, final String key) {
mMarkingFragmentRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
markingtwoAdapter = new MarkingTwoAdapter(mContext, null);
markingtwoAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
loadMore(type, key);
}
});
mMarkingFragmentRecyclerView.setAdapter(markingtwoAdapter);
}
private void initRefreshLayout(final String type, final String key) {
mSwl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
refresh(type, key);
}
});
}
private void refresh(String type, String key) {
mNextRequestPage = 1;
markingtwoAdapter.setEnableLoadMore(false);//这里的作用是防止下拉刷新的时候还可以上拉加载
requestmakingyiliushitwo();
}
private void loadMore(String type, String key) {
requestmakingyiliushitwo();
}
private void setData(boolean isRefresh, List data) {
mNextRequestPage++;
final int size = data == null ? 0 : data.size();
if (isRefresh) {
markingtwoAdapter.setNewData(data);
} else {
if (size > 0) {
markingtwoAdapter.addData(data);
}
}
if (size < PAGE_SIZE) {
//第一页如果不够一页就不显示没有更多数据布局
markingtwoAdapter.loadMoreEnd(isRefresh);
} else {
markingtwoAdapter.loadMoreComplete();
}
}
public void requestmakingyiliushitwo() {
}
@Override
public void onDestroy() {
super.onDestroy();
}
}

View File

@@ -0,0 +1,196 @@
package com.example.administrator.seven.main.kehu;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.administrator.seven.R;
import com.example.administrator.seven.main.entity.Savaselect;
import com.example.administrator.seven.main.kehu.adapter.MarkingTwoAdapter;
import com.example.administrator.seven.test.BaseFragment;
import java.util.List;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
/**
* 功能:已流失
* 返回值:空
* 时间2017/7/17/017 14:52
*/
@SuppressLint("ValidFragment")
public class DealFragment extends BaseFragment {
public static final String ARG_PAGE = "ARG_PAGE";
private boolean IS_LOADED = false;
private static int mSerial = 0;
private int mTabPos = 0;
private boolean isFirst = true;
@SuppressLint("HandlerLeak")
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
Log.e("tag", "IS_LOADED=" + IS_LOADED);
if (!IS_LOADED) {
IS_LOADED = true;
//请求我的客户已流失数据
requestmakingyiliushidata("2", "", true);
}
return;
}
;
};
private MarkingTwoAdapter markingtwoAdapter;
private Savaselect savaselectbean;
public DealFragment(int serial, Savaselect savaselect) {
mSerial = serial;
this.savaselectbean = savaselect;
}
public void sendMessage() {
Message message = handler.obtainMessage();
message.sendToTarget();
}
public void setTabPos(int mTabPos) {
this.mTabPos = mTabPos;
}
private String uid;
private RecyclerView mMarkingFragmentRecyclerView;
private SwipeRefreshLayout mSwl;
private int mNextRequestPage = 1;
private static final int PAGE_SIZE = 10;
View view;
private View notDataView;
private View errorView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = getActivity();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (view != null) {
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null) {
parent.removeView(view);
}
return view;
}
// uid = (String) SPUtils.getSp(getActivity(), FHConfig.KEY_USER_UID, "");
view = inflater.inflate(R.layout.criclefragmenttwo, container, false);
initView(view);
//设置页和当前页一致时加载,防止预加载
if (isFirst && mTabPos == mSerial) {
isFirst = false;
sendMessage();
}
return view;
}
private void initView(View mContentView) {
mMarkingFragmentRecyclerView = (RecyclerView) view.findViewById(R.id.marking_fragment_recyclerView);
mSwl = mContentView.findViewById(R.id.srl);
notDataView = getActivity().getLayoutInflater().inflate(R.layout.empty_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false);
notDataView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// refresh("1");
}
});
errorView = getActivity().getLayoutInflater().inflate(R.layout.error_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false);
errorView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// onRefresh();
}
});
}
public void sendMessagetwo() {
requestmakingyiliushidata("2", "", true);
}
public void requestmakingyiliushidata(String type, String key, Boolean show) {
initAdapter("2", "");
initRefreshLayout("2", "");
mSwl.setRefreshing(true);
refresh("2", "");
}
private void initAdapter(final String type, final String key) {
mMarkingFragmentRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
markingtwoAdapter = new MarkingTwoAdapter(mContext, null);
markingtwoAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
loadMore(type, key);
}
});
mMarkingFragmentRecyclerView.setAdapter(markingtwoAdapter);
}
private void initRefreshLayout(final String type, final String key) {
mSwl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
refresh(type, key);
}
});
}
private void refresh(String type, String key) {
mNextRequestPage = 1;
markingtwoAdapter.setEnableLoadMore(false);//这里的作用是防止下拉刷新的时候还可以上拉加载
requestmakingyiliushitwo();
}
private void loadMore(String type, String key) {
requestmakingyiliushitwo();
}
private void setData(boolean isRefresh, List data) {
mNextRequestPage++;
final int size = data == null ? 0 : data.size();
if (isRefresh) {
markingtwoAdapter.setNewData(data);
} else {
if (size > 0) {
markingtwoAdapter.addData(data);
}
}
if (size < PAGE_SIZE) {
//第一页如果不够一页就不显示没有更多数据布局
markingtwoAdapter.loadMoreEnd(isRefresh);
} else {
markingtwoAdapter.loadMoreComplete();
}
}
public void requestmakingyiliushitwo() {
}
@Override
public void onDestroy() {
super.onDestroy();
}
}

View File

@@ -0,0 +1,191 @@
package com.example.administrator.seven.main.kehu;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.example.administrator.seven.R;
import com.example.administrator.seven.main.entity.Savaselect;
import com.example.administrator.seven.test.BaseFragment;
import com.google.android.material.tabs.TabLayout;
import java.util.ArrayList;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
/**
* 功能:追踪模块
* Created by jianbo .
* on 2017/8/31.
*/
@SuppressLint("ValidFragment")
public class TraceFragment extends BaseFragment implements View.OnClickListener {
ViewPager viewPager;
TabLayout tab;
int curTab = 0;
private boolean IS_LOADED = false;
private ArrayList<Pair<String, Fragment>> items;
private TrackFragment genzongzhongFragment;
private CustomerFragment yiliushiFragment;
private DealFragment yichengjiaoFragment;
private boolean shifou = true;
private Savaselect savaselect;
@SuppressLint("HandlerLeak")
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
Log.e("tag", "IS_LOADED=" + IS_LOADED);
if (!IS_LOADED) {
IS_LOADED = true;
savaselect = new Savaselect();
items = new ArrayList<>();
genzongzhongFragment = new TrackFragment(curTab, savaselect);
genzongzhongFragment.setTabPos(0);
items.add(new Pair<String, Fragment>("跟踪中", genzongzhongFragment));
yiliushiFragment = new CustomerFragment(curTab, savaselect);
yiliushiFragment.setTabPos(1);
items.add(new Pair<String, Fragment>("已流失", yiliushiFragment));
yichengjiaoFragment = new DealFragment(curTab, savaselect);
yichengjiaoFragment.setTabPos(2);
items.add(new Pair<String, Fragment>("已成交", yichengjiaoFragment));
final MyAdaptertwo myAdaptertwo = new MyAdaptertwo(getChildFragmentManager());
//mViewPager滑动监听
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(final int position) {
Log.i("TAG", "position:" + position);
if (position == 0) {
mBtSousuoDitu.setVisibility(View.VISIBLE);
((TrackFragment) myAdaptertwo.getItem(position)).sendMessage();
} else if (position == 1) {
mBtSousuoDitu.setVisibility(View.GONE);
((CustomerFragment) myAdaptertwo.getItem(position)).sendMessage();
} else {
mBtSousuoDitu.setVisibility(View.GONE);
((DealFragment) myAdaptertwo.getItem(position)).sendMessage();
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
viewPager.setAdapter(myAdaptertwo);
tab.setupWithViewPager(viewPager);
// //设置下划线高度宽度跟随tab的宽度
// tab.setSelectedTabIndicatorHeight(10);
}
return;
}
};
private RelativeLayout mBtSousuoDitu;
private RelativeLayout mTitlebar;
private String uid;
private String clerkposition;
private RelativeLayout mEnterShopShai;
private TextView enter_shop_shaixuan;
private TextView mEnterShopTitle;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = getActivity();
}
public void sendMessage() {
Message message = handler.obtainMessage();
message.sendToTarget();
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_kehu, container, false);
//获得是否是店长身份
// uid = (String) SPUtils.getSp(getActivity(), FHConfig.KEY_USER_UID, "");
// clerkposition = (String) SPUtils.getSp(getActivity(), FHConfig.IDENFINE, "");
viewPager = (ViewPager) view.findViewById(R.id.main_vp);
tab = (TabLayout) view.findViewById(R.id.main_tab_layout);
sendMessage();
initView(view);
return view;
}
private void initView(View view) {
mBtSousuoDitu = (RelativeLayout) view.findViewById(R.id.bt_sousuo_ditu);
mBtSousuoDitu.setOnClickListener(this);
mTitlebar = (RelativeLayout) view.findViewById(R.id.titlebar);
mTitlebar.setOnClickListener(this);
mEnterShopShai = (RelativeLayout) view.findViewById(R.id.enter_shop_shai);
mEnterShopShai.setOnClickListener(this);
mEnterShopTitle = (TextView) view.findViewById(R.id.enter_shop_title);
mEnterShopTitle.setOnClickListener(this);
enter_shop_shaixuan = (TextView) view.findViewById(R.id.enter_shop_shaixuan);
if (clerkposition.equals("店员")) {
mEnterShopShai.setVisibility(View.GONE);
mEnterShopTitle.setVisibility(View.VISIBLE);
} else {
mEnterShopShai.setVisibility(View.VISIBLE);
mEnterShopTitle.setVisibility(View.GONE);
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
default:
break;
case R.id.bt_sousuo_ditu:
break;
case R.id.enter_shop_shai:
break;
}
}
public class MyAdaptertwo extends FragmentPagerAdapter {
public MyAdaptertwo(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return items.get(position).second;
}
@Override
public int getCount() {
return items.size();
}
@Override
public CharSequence getPageTitle(int position) {
return items.get(position).first;
}
}
}

View File

@@ -0,0 +1,196 @@
package com.example.administrator.seven.main.kehu;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.administrator.seven.R;
import com.example.administrator.seven.main.entity.Savaselect;
import com.example.administrator.seven.main.kehu.adapter.MarkingTwoAdapter;
import com.example.administrator.seven.test.BaseFragment;
import java.util.List;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
/**
* 功能:已流失
* 返回值:空
* 时间2017/7/17/017 14:52
*/
@SuppressLint("ValidFragment")
public class TrackFragment extends BaseFragment {
public static final String ARG_PAGE = "ARG_PAGE";
private boolean IS_LOADED = false;
private static int mSerial = 0;
private int mTabPos = 0;
private boolean isFirst = true;
@SuppressLint("HandlerLeak")
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
Log.e("tag", "IS_LOADED=" + IS_LOADED);
if (!IS_LOADED) {
IS_LOADED = true;
//请求我的客户已流失数据
requestmakingyiliushidata("2", "", true);
}
return;
}
;
};
private MarkingTwoAdapter markingtwoAdapter;
private Savaselect savaselectbean;
public TrackFragment(int serial, Savaselect savaselect) {
mSerial = serial;
this.savaselectbean = savaselect;
}
public void sendMessage() {
Message message = handler.obtainMessage();
message.sendToTarget();
}
public void setTabPos(int mTabPos) {
this.mTabPos = mTabPos;
}
private String uid;
private RecyclerView mMarkingFragmentRecyclerView;
private SwipeRefreshLayout mSwl;
private int mNextRequestPage = 1;
private static final int PAGE_SIZE = 10;
View view;
private View notDataView;
private View errorView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = getActivity();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (view != null) {
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null) {
parent.removeView(view);
}
return view;
}
// uid = (String) SPUtils.getSp(getActivity(), FHConfig.KEY_USER_UID, "");
view = inflater.inflate(R.layout.criclefragmenttwo, container, false);
initView(view);
//设置页和当前页一致时加载,防止预加载
if (isFirst && mTabPos == mSerial) {
isFirst = false;
sendMessage();
}
return view;
}
private void initView(View mContentView) {
mMarkingFragmentRecyclerView = (RecyclerView) view.findViewById(R.id.marking_fragment_recyclerView);
mSwl = mContentView.findViewById(R.id.srl);
notDataView = getActivity().getLayoutInflater().inflate(R.layout.empty_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false);
notDataView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// refresh("1");
}
});
errorView = getActivity().getLayoutInflater().inflate(R.layout.error_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false);
errorView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// onRefresh();
}
});
}
public void sendMessagetwo() {
requestmakingyiliushidata("2", "", true);
}
public void requestmakingyiliushidata(String type, String key, Boolean show) {
initAdapter("2", "");
initRefreshLayout("2", "");
mSwl.setRefreshing(true);
refresh("2", "");
}
private void initAdapter(final String type, final String key) {
mMarkingFragmentRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
markingtwoAdapter = new MarkingTwoAdapter(mContext, null);
markingtwoAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
loadMore(type, key);
}
});
mMarkingFragmentRecyclerView.setAdapter(markingtwoAdapter);
}
private void initRefreshLayout(final String type, final String key) {
mSwl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
refresh(type, key);
}
});
}
private void refresh(String type, String key) {
mNextRequestPage = 1;
markingtwoAdapter.setEnableLoadMore(false);//这里的作用是防止下拉刷新的时候还可以上拉加载
requestmakingyiliushitwo();
}
private void loadMore(String type, String key) {
requestmakingyiliushitwo();
}
private void setData(boolean isRefresh, List data) {
mNextRequestPage++;
final int size = data == null ? 0 : data.size();
if (isRefresh) {
markingtwoAdapter.setNewData(data);
} else {
if (size > 0) {
markingtwoAdapter.addData(data);
}
}
if (size < PAGE_SIZE) {
//第一页如果不够一页就不显示没有更多数据布局
markingtwoAdapter.loadMoreEnd(isRefresh);
} else {
markingtwoAdapter.loadMoreComplete();
}
}
public void requestmakingyiliushitwo() {
}
@Override
public void onDestroy() {
super.onDestroy();
}
}

View File

@@ -0,0 +1,46 @@
package com.example.administrator.seven.main.kehu.adapter;
import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.administrator.seven.R;
import com.example.administrator.seven.main.kehu.entity.markingYiliushi;
import java.util.List;
public class MarkingTwoAdapter extends BaseQuickAdapter<markingYiliushi.ResultBean.DataBean, BaseViewHolder> {
Context mcontext;
public MarkingTwoAdapter(Context context, List list) {
super(R.layout.item_custom_lost_sec, list);
this.mcontext = context;
}
@Override
protected void convert(final BaseViewHolder helper, final markingYiliushi.ResultBean.DataBean item) {
//姓名
if (!TextUtils.isEmpty(item.getFistname()) || !TextUtils.isEmpty(item.getName())) {
helper.setText(R.id.tv_user_name_yiliushi, item.getFistname() + item.getName().toString());
} else {
helper.setText(R.id.tv_user_name_yiliushi, "— —");
}
//电话
ImageView iv_user_head_view_yiliushi = (ImageView) helper.getView(R.id.iv_user_head_view_yiliushi);
Button btn_customer_exist_state_lost = (Button) helper.getView(R.id.btn_customer_exist_state_lost);
iv_user_head_view_yiliushi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Intent intent = new Intent(mContext, PhotoViewActivity.class);
// ArrayList<String> strings = new ArrayList<>();
// strings.add(item.getVisitor_head_img());
// intent.putStringArrayListExtra(PhotoViewActivity.PHOTO_LIST,strings);
// mContext.startActivity(intent);
}
});
}
}

View File

@@ -0,0 +1,212 @@
package com.example.administrator.seven.main.kehu.entity;
import com.example.administrator.seven.test.BaseModel;
import java.util.List;
/**
* Created by Administrator on 2018/4/13.
*/
public class markingYiliushi extends BaseModel {
private int status;
private ResultBean result;
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public ResultBean getResult() {
return result;
}
public void setResult(ResultBean result) {
this.result = result;
}
public static class ResultBean {
/**
* success : 0
* msg : 获取信息成功
* data : [{"fistname":"李","name":"四","sex":"1","phone":"15826932658","marknamesec":"","record_id":"08db435b44162d09ec6c5e27d03b5b19","visitor_id":"a1c6c99e6f8a48119914a7d2d085fe89","record_time":"2018-03-08 16:34:55","visitor_head_img":"http://www.fenghoo.cn/images/articleImg/ZPJ15119502816390003342201803081634558137.jpg","store_id":"941f449de63cbd429dd18d9882febfa0","store_name":"红星美凯龙太白店荣麟京瓷","uuid":"0a10f99c198b3cb659a62a765c83c648","loss":"跑啦"},{"fistname":"王","name":"五","sex":"1","phone":"14758989869","marknamesec":"","record_id":"8bf7b195614b54f005356fb3b029ba37","visitor_id":"dd1d9b38a4d246fbb46f2043424f904a","record_time":"2018-03-08 16:19:44","visitor_head_img":"http://www.fenghoo.cn/images/articleImg/ZPJ15119502816390003342201803081619447061.jpg","store_id":"941f449de63cbd429dd18d9882febfa0","store_name":"红星美凯龙太白店荣麟京瓷","uuid":"0a10f99c198b3cb659a62a765c83c648","loss":"丢啦"},{"fistname":"李","name":"宁","sex":"2","phone":"13265985623","marknamesec":"","record_id":"2aa4c1cb8980e48d62513795e1816e23","visitor_id":"ea8c4fb7c3db4a95a2ed0578f301694e","record_time":"2018-03-08 16:10:39","visitor_head_img":"http://www.fenghoo.cn/images/articleImg/ZPJ15119502816390003342201803081610395112.jpg","store_id":"941f449de63cbd429dd18d9882febfa0","store_name":"红星美凯龙太白店荣麟京瓷","uuid":"0a10f99c198b3cb659a62a765c83c648","loss":"扔啦"}]
*/
private int success;
private String msg;
private List<DataBean> data;
public int getSuccess() {
return success;
}
public void setSuccess(int success) {
this.success = success;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
/**
* fistname : 李
* name : 四
* sex : 1
* phone : 15826932658
* marknamesec :
* record_id : 08db435b44162d09ec6c5e27d03b5b19
* visitor_id : a1c6c99e6f8a48119914a7d2d085fe89
* record_time : 2018-03-08 16:34:55
* visitor_head_img : http://www.fenghoo.cn/images/articleImg/ZPJ15119502816390003342201803081634558137.jpg
* store_id : 941f449de63cbd429dd18d9882febfa0
* store_name : 红星美凯龙太白店荣麟京瓷
* uuid : 0a10f99c198b3cb659a62a765c83c648
* loss : 跑啦
*/
private String fistname;
private String name;
private String sex;
private String phone;
private String marknamesec;
private String record_id;
private String visitor_id;
private String record_time;
private String visitor_head_img;
private String store_id;
private String store_name;
private String uuid;
private String loss;
private String user_name;
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getFistname() {
return fistname;
}
public void setFistname(String fistname) {
this.fistname = fistname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getMarknamesec() {
return marknamesec;
}
public void setMarknamesec(String marknamesec) {
this.marknamesec = marknamesec;
}
public String getRecord_id() {
return record_id;
}
public void setRecord_id(String record_id) {
this.record_id = record_id;
}
public String getVisitor_id() {
return visitor_id;
}
public void setVisitor_id(String visitor_id) {
this.visitor_id = visitor_id;
}
public String getRecord_time() {
return record_time;
}
public void setRecord_time(String record_time) {
this.record_time = record_time;
}
public String getVisitor_head_img() {
return visitor_head_img;
}
public void setVisitor_head_img(String visitor_head_img) {
this.visitor_head_img = visitor_head_img;
}
public String getStore_id() {
return store_id;
}
public void setStore_id(String store_id) {
this.store_id = store_id;
}
public String getStore_name() {
return store_name;
}
public void setStore_name(String store_name) {
this.store_name = store_name;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public String getLoss() {
return loss;
}
public void setLoss(String loss) {
this.loss = loss;
}
}
}
}

View File

@@ -1,10 +1,10 @@
package com.example.administrator.seven.main.Fragment;
package com.example.administrator.seven.main.my;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.support.v4.widget.SwipeRefreshLayout;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;

View File

@@ -1,4 +1,4 @@
package com.example.administrator.seven.main.Fragment;
package com.example.administrator.seven.main.task;
import android.os.Bundle;
import android.view.LayoutInflater;

View File

@@ -1,4 +1,4 @@
package com.example.administrator.seven.main.Fragment;
package com.example.administrator.seven.main.zhibo;
import android.os.Bundle;
import android.view.LayoutInflater;

View File

@@ -6,10 +6,10 @@ import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.support.annotation.IdRes;
import android.support.annotation.StringRes;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
import androidx.annotation.IdRes;
import androidx.annotation.StringRes;
import androidx.fragment.app.Fragment;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.util.Log;
import android.util.TypedValue;
import android.widget.Toast;

View File

@@ -1,7 +1,7 @@
package com.example.administrator.seven.test;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -1,7 +1,7 @@
package com.example.administrator.seven.test;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;

View File

@@ -1,9 +1,9 @@
package com.example.administrator.seven.test;
import android.content.Context;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.ViewGroup;

View File

@@ -2,8 +2,8 @@ package com.example.administrator.seven.utils;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
public class SpaceItemDecoration extends RecyclerView.ItemDecoration {

View File

@@ -3,7 +3,7 @@ package com.example.administrator.seven.view;
import android.content.Context;
import android.content.res.Resources;
import android.os.Build;
import android.support.annotation.Nullable;
import androidx.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;

View File

@@ -16,8 +16,8 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import androidx.annotation.ColorRes;
import androidx.annotation.DrawableRes;
import android.util.AttributeSet;
import com.example.administrator.seven.R;
@@ -27,7 +27,7 @@ import com.example.administrator.seven.R;
* 自定义圆形用户头像
* Created by Administrator on 2017/6/22 0022.
*/
public class CircleImageView extends android.support.v7.widget.AppCompatImageView {
public class CircleImageView extends androidx.appcompat.widget.AppCompatImageView {
private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP;

View File

@@ -2,9 +2,9 @@ package com.example.administrator.seven.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.support.annotation.AttrRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import androidx.annotation.AttrRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;

View File

@@ -1,10 +1,10 @@
package com.example.administrator.seven.widget;
import android.content.Context;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.StringRes;
import android.support.v4.content.ContextCompat;
import androidx.annotation.ColorRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import androidx.core.content.ContextCompat;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;

View File

@@ -3,7 +3,7 @@ package com.example.administrator.seven.wxapi;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import androidx.annotation.Nullable;
import android.widget.TextView;
import com.example.administrator.seven.base.BaseActivity;

View File

@@ -2,11 +2,11 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
</androidx.viewpager.widget.ViewPager>
</RelativeLayout>

View File

@@ -8,7 +8,7 @@
<include
layout="@layout/title_layout"/>
<android.support.v7.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rcy_inbound_history"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -16,6 +16,6 @@
android:layout_marginLeft="@dimen/dimen_21dp"
android:layout_marginRight="@dimen/dimen_21dp">
</android.support.v7.widget.RecyclerView>
</androidx.recyclerview.widget.RecyclerView>
</LinearLayout>

View File

@@ -48,7 +48,7 @@
</LinearLayout>
<android.support.v7.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rcy_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -56,6 +56,6 @@
android:layout_marginLeft="@dimen/dimen_8"
android:layout_marginRight="@dimen/dimen_8">
</android.support.v7.widget.RecyclerView>
</androidx.recyclerview.widget.RecyclerView>
</LinearLayout>

View File

@@ -8,7 +8,7 @@
<include
layout="@layout/title_layout"/>
<android.support.v7.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rcy_outbound_history"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -16,6 +16,6 @@
android:layout_marginLeft="@dimen/dimen_21dp"
android:layout_marginRight="@dimen/dimen_21dp">
</android.support.v7.widget.RecyclerView>
</androidx.recyclerview.widget.RecyclerView>
</LinearLayout>

View File

@@ -0,0 +1,26 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/srl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/marking_fragment_recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</LinearLayout>

View File

@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:orientation="vertical">
<androidx.drawerlayout.widget.DrawerLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/titlebar"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/colorWhite">
<Button
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentLeft="true"
android:layout_centerInParent="true"
android:layout_marginLeft="20dp"
android:background="@mipmap/icon_back"
android:textColor="#000000"
android:visibility="invisible" />
<TextView
android:id="@+id/enter_shop_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="追踪客户"
android:textColor="@color/colorWhite"
android:textSize="18sp" />
<RelativeLayout
android:id="@+id/enter_shop_shai"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:visibility="gone"
android:gravity="center">
<TextView
android:id="@+id/enter_shop_shaixuan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="全部客户"
android:textColor="@color/colorWhite"
android:textSize="18sp" />
<ImageView
android:layout_width="8dp"
android:layout_height="6dp"
android:layout_centerVertical="true"
android:layout_marginLeft="6dp"
android:layout_toRightOf="@+id/enter_shop_shaixuan"
/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/bt_sousuo_ditu"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="8dp"
android:gravity="center">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
/>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:orientation="vertical">
<com.google.android.material.tabs.TabLayout
android:id="@+id/main_tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
app:tabGravity="fill"
app:tabIndicatorFullWidth="false"
app:tabIndicatorHeight="4dp"
app:tabIndicatorColor="@color/colortheme"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/black"
app:tabTextColor="@color/black" />
</LinearLayout>
</RelativeLayout>
<androidx.viewpager.widget.ViewPager
android:id="@+id/main_vp"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</androidx.drawerlayout.widget.DrawerLayout>
</LinearLayout>

View File

@@ -3,13 +3,13 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.administrator.seven.main.Fragment.MyFragment">
tools:context="com.example.administrator.seven.main.my.MyFragment">
<android.support.v4.widget.SwipeRefreshLayout
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/SwipeRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/layout_my_content"/>
</android.support.v4.widget.SwipeRefreshLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</LinearLayout>

View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
app:cardCornerRadius="6dp">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:id="@+id/btn_customer_exist_state_lost"
android:layout_width="wrap_content"
android:layout_height="26dp"
android:layout_alignParentRight="true"
android:text="跟踪历史" />
<RelativeLayout
android:id="@+id/rl_user_about_information"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/btn_customer_exist_state_lost"
android:paddingBottom="10dp">
<LinearLayout
android:id="@+id/rl_user_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/iv_user_head_view_yiliushi"
android:layout_width="86dp"
android:layout_height="86dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/tv_user_name_yiliushi"
android:layout_width="86dp"
android:layout_height="wrap_content"
android:text="--" />
<TextView
android:id="@+id/tv_user_tel_yiliushi"
android:layout_width="86dp"
android:layout_height="wrap_content"
android:text="--" />
</LinearLayout>
<TextView
android:id="@+id/tv_enter_add_befor_yiliushi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/view"
android:layout_toRightOf="@+id/rl_user_info"
android:layout_marginTop="5dp"
android:text="上次进店:--" />
<TextView
android:id="@+id/tv_employee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_enter_add_befor_yiliushi"
android:layout_toRightOf="@+id/rl_user_info"
android:text="店员:未知" />
<TextView
android:id="@+id/tv_enter_store_time_yiliushi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_employee"
android:layout_toRightOf="@+id/rl_user_info"
android:text="时间:--" />
<View
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_below="@+id/tv_enter_store_time_yiliushi"
android:layout_toRightOf="@+id/rl_user_info"
/>
<TextView
android:id="@+id/tv_customer_lost_reason"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/view1"
android:layout_toRightOf="@+id/rl_user_info"
android:text="流失原因:--" />
</RelativeLayout>
</RelativeLayout>
</androidx.cardview.widget.CardView>

View File

@@ -52,20 +52,20 @@
</RelativeLayout>
<android.support.v4.widget.SwipeRefreshLayout
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/srl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<android.support.v7.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/marking_fragment_recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F5F5" />
</android.support.v4.widget.SwipeRefreshLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

View File

@@ -1,6 +1,6 @@
package com.example.administrator.seven;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.*;

View File

@@ -9,8 +9,9 @@ import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.fragment.app.FragmentActivity;
/**
* Created by: UFO on: 2016/11/25.
@@ -82,7 +83,7 @@ public class PermissionsManager {
/**
* 权限请求结果处理,处理@see {@link #requestPermission(String[])}的请求结果
* 此方法应在{@link android.support.v4.app.FragmentActivity#onRequestPermissionsResult(int, String[], int[])}
* 此方法应在{@link FragmentActivity#onRequestPermissionsResult(int, String[], int[])}
* 里调用
*
* @param requestCode

View File

@@ -7,7 +7,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'com.android.tools.build:gradle:3.5.0'
// NOTE: Do not place your application dependencies here; they belong

2
gradle.properties Normal file
View File

@@ -0,0 +1,2 @@
android.enableJetifier=true
android.useAndroidX=true