diff --git a/.idea/modules.xml b/.idea/modules.xml index 64d4818..9c7f509 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -4,9 +4,9 @@ - - + + diff --git a/app/build.gradle b/app/build.gradle index b82f14a..3552867 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,11 +55,12 @@ task fileCheckTask() { doLast { File file = new File(rootDir.getAbsolutePath() + "\\app\\src\\main\\assets\\migrations") File[] files = file.listFiles() - for (int i = 0; i < files.length; i++) { - File file1 = files[i] - println("delete : "+file1.getAbsolutePath()) - file1.delete() - } + if (null != files) + for (int i = 0; i < files.length; i++) { + File file1 = files[i] + println("delete : " + file1.getAbsolutePath()) + file1.delete() + } } } diff --git a/app/libs/processor.jar b/app/libs/processor.jar index df31023..adae491 100644 Binary files a/app/libs/processor.jar and b/app/libs/processor.jar differ diff --git a/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java b/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java index c38ffdb..e9a8144 100644 --- a/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java +++ b/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java @@ -3,6 +3,8 @@ package com.shunzhi.parent.adapter; import android.content.Context; import android.content.Intent; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -13,6 +15,7 @@ import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder; import com.shunzhi.parent.R; import com.shunzhi.parent.bean.ReportBean; import com.shunzhi.parent.ui.activity.report.ReportDetialActivity; +import com.shunzhi.parent.views.CustomLinearLayoutManager; /** * Created by Administrator on 2018/3/9 0009. @@ -28,6 +31,14 @@ public class ReportAdapter extends BaseRecyclerViewAdapter { @Override + public void onAttachedToRecyclerView(RecyclerView recyclerView) { + super.onAttachedToRecyclerView(recyclerView); + recyclerView.setLayoutManager(new CustomLinearLayoutManager(context, + LinearLayoutManager.VERTICAL, false)); + recyclerView.setHasFixedSize(true); + } + + @Override public BaseRecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item_report_deyu, parent,false); return new MyViewHolder(view); diff --git a/app/src/main/java/com/shunzhi/parent/popu/ShaiXuanPop.java b/app/src/main/java/com/shunzhi/parent/popu/ShaiXuanPop.java index 3f2c3f9..12e0926 100644 --- a/app/src/main/java/com/shunzhi/parent/popu/ShaiXuanPop.java +++ b/app/src/main/java/com/shunzhi/parent/popu/ShaiXuanPop.java @@ -57,7 +57,7 @@ public class ShaiXuanPop extends PopupWindow { tvSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - + dismiss(); } }); diff --git a/app/src/main/java/com/shunzhi/parent/ui/MainActivity.java b/app/src/main/java/com/shunzhi/parent/ui/MainActivity.java index 38ca2d6..2dba0c4 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/MainActivity.java +++ b/app/src/main/java/com/shunzhi/parent/ui/MainActivity.java @@ -26,7 +26,7 @@ public class MainActivity extends BaseCompatActivity implements PermissionUtils. BottomNavigationView bottom_navigationView; - CePingFragment cePingFragment = null; +// CePingFragment cePingFragment = null; ConsultFragment consultFragment = null; @@ -36,7 +36,7 @@ public class MainActivity extends BaseCompatActivity implements PermissionUtils. Fragment[] fragments = null; - private int CEPING_INDEX = 0, CONSULT_INDEX = 1, REPORT_INDEX = 2, MINE_INDEX = 3; + private int CEPING_INDEX = 0, CONSULT_INDEX = 0, REPORT_INDEX = 1, MINE_INDEX = 2; FragmentTransaction fragmentTransaction = null; @@ -54,10 +54,11 @@ public class MainActivity extends BaseCompatActivity implements PermissionUtils. @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { - case R.id.menu_item_index://测评页面 - showFragment(CEPING_INDEX); - break; +// case R.id.menu_item_index://测评页面 +// showFragment(CEPING_INDEX); +// break; case R.id.menu_item_consult://咨询频道 +// showFragment(CONSULT_INDEX); showFragment(CONSULT_INDEX); break; case R.id.menu_item_report://报告 @@ -75,23 +76,24 @@ public class MainActivity extends BaseCompatActivity implements PermissionUtils. } private void initFragments() { - fragments = new Fragment[4]; - cePingFragment = new CePingFragment(); + fragments = new Fragment[3]; +// cePingFragment = new CePingFragment(); consultFragment = new ConsultFragment(); reportFragment = new ReportFragment(); mineFragment = new MineFragment(); - fragments[CEPING_INDEX] = cePingFragment; +// fragments[CEPING_INDEX] = cePingFragment; fragments[CONSULT_INDEX] = consultFragment; fragments[REPORT_INDEX] = reportFragment; fragments[MINE_INDEX] = mineFragment; fragmentTransaction = getSupportFragmentManager().beginTransaction(); - fragmentTransaction.add(R.id.frame, cePingFragment) + fragmentTransaction +// .add(R.id.frame, cePingFragment) .add(R.id.frame, consultFragment) .add(R.id.frame, reportFragment) .add(R.id.frame, mineFragment) - .show(cePingFragment) - .hide(consultFragment) +// .show(cePingFragment) + .show(consultFragment) .hide(reportFragment) .hide(mineFragment) .commit(); @@ -103,8 +105,8 @@ public class MainActivity extends BaseCompatActivity implements PermissionUtils. if (index == i) fragmentTransaction.show(fragments[index]); else fragmentTransaction.hide(fragments[i]); } - if (index==CONSULT_INDEX)consultFragment.refresh(); - else if (index==CEPING_INDEX)cePingFragment.refresh(); + if (index == CONSULT_INDEX) consultFragment.refresh(); +// else if (index == CEPING_INDEX) cePingFragment.refresh(); fragmentTransaction.commit(); } diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java index 7072afd..b8609d3 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java +++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java @@ -2,8 +2,15 @@ package com.shunzhi.parent.ui.fragment; import android.os.Bundle; +import android.os.Handler; +import android.os.Message; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.support.design.widget.TabLayout; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.view.ViewPager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; @@ -13,39 +20,33 @@ import com.amy.monthweek.materialcalendarview.MonthWeekMaterialCalendarView; import com.prolificinteractive.materialcalendarview.CalendarDay; import com.prolificinteractive.materialcalendarview.MaterialCalendarView; import com.share.mvpsdk.base.BasePresenter; +import com.share.mvpsdk.base.fragment.BaseCompatFragment; import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment; +import com.share.mvpsdk.utils.ToastUtils; import com.shunzhi.parent.R; import com.shunzhi.parent.adapter.ReportAdapter; import com.shunzhi.parent.bean.ReportBean; import com.shunzhi.parent.contract.report.ReportContract; import com.shunzhi.parent.popu.ShaiXuanPop; import com.shunzhi.parent.presenter.report.ReportPresenter; +import com.shunzhi.parent.ui.fragment.report.ChengZhangFragment; import com.shunzhi.parent.views.CustomLinearLayoutManager; import java.util.List; -public class ReportFragment extends BaseMVPCompatFragment - implements ReportContract.IReportView ,View.OnClickListener{ +public class ReportFragment extends BaseCompatFragment implements View.OnClickListener { + ViewPager viewPager; - RecyclerView recyclerView; - ReportAdapter reportAdapter; + TextView tvDate, tvShaiXuan, tvNoData; - MonthWeekMaterialCalendarView monthWeekMaterialCalendarView = null; + MyFragmentAdapter myFragmentAdapter = null; - private CalendarDay selectedDate; + TabLayout tabLayout; - MaterialCalendarView calendarView_month_mode; - - TextView tvDate,tvShaiXuan,tvNoData; + ChengZhangFragment chengZhangFragment1 = null, chengZhangFragment2 = null;//成长、报告页面 ShaiXuanPop shaiXuanPop=null; - @NonNull - @Override - public BasePresenter initPresenter() { - return new ReportPresenter(); - } - @Override public int getLayoutId() { return R.layout.fragment_report; @@ -53,84 +54,88 @@ public class ReportFragment extends BaseMVPCompatFragment list) { - reportAdapter = new ReportAdapter(getActivity()); - reportAdapter.addAll(list); - recyclerView.setAdapter(reportAdapter); + public void onClick(View view) { + switch (view.getId()){ + case R.id.tvShaiXuan: + if (null == shaiXuanPop) shaiXuanPop = new ShaiXuanPop(getActivity()); + chengZhangFragment2.showShaixuan(handler); + break; + } } - @Override - public void showReports(List stringList) { - if (null!=shaiXuanPop){ - if (stringList.size()>0)tvNoData.setVisibility(View.GONE); - shaiXuanPop.setDatas(stringList); + Handler handler=new Handler(){ + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + shaiXuanPop.setDatas((List) msg.obj); shaiXuanPop.show(tvShaiXuan); } - } + }; @Override - public void onClick(View view) { - switch (view.getId()){ - case R.id.tvShaiXuan: - if (null==shaiXuanPop)shaiXuanPop=new ShaiXuanPop(getActivity()); - mPresenter.getReports(); - break; + public void onDestroy() { + super.onDestroy(); + if (handler!=null)handler=null; + } + + private class MyFragmentAdapter extends FragmentPagerAdapter { + + public MyFragmentAdapter(FragmentManager fm) { + super(fm); + } + + @Override + public Fragment getItem(int position) { + if (position == 0) { + chengZhangFragment1 = ChengZhangFragment.newInstance(ChengZhangFragment.TYPE_CHENGZHANG); + return chengZhangFragment1; + } else if (position == 1) { + chengZhangFragment2 = ChengZhangFragment.newInstance(ChengZhangFragment.TYPE_REPORT); + return chengZhangFragment2; + } + return null; + } + + @Override + public int getCount() { + return 2; } } + } diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ChengZhangFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ChengZhangFragment.java new file mode 100644 index 0000000..50a450e --- /dev/null +++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ChengZhangFragment.java @@ -0,0 +1,172 @@ +package com.shunzhi.parent.ui.fragment.report; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.LinearLayout; + +import com.amy.monthweek.materialcalendarview.MonthWeekMaterialCalendarView; +import com.prolificinteractive.materialcalendarview.CalendarDay; +import com.prolificinteractive.materialcalendarview.MaterialCalendarView; +import com.share.mvpsdk.base.BasePresenter; +import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment; +import com.shunzhi.parent.R; +import com.shunzhi.parent.adapter.ReportAdapter; +import com.shunzhi.parent.bean.ReportBean; +import com.shunzhi.parent.contract.report.ReportContract; +import com.shunzhi.parent.popu.ShaiXuanPop; +import com.shunzhi.parent.presenter.report.ReportPresenter; + +import java.util.List; + +/** + */ +public class ChengZhangFragment extends BaseMVPCompatFragment + implements ReportContract.IReportView, View.OnClickListener { + + public static String TYPE_CHENGZHANG = "chengzhang", TYPE_REPORT = "report"; + + public static ChengZhangFragment newInstance(String type) { + Bundle bundle = new Bundle(); + bundle.putString("type", type); + ChengZhangFragment chengZhangFragment = new ChengZhangFragment(); + chengZhangFragment.setArguments(bundle); + return chengZhangFragment; + } + + RecyclerView recyclerView; + + ReportAdapter reportAdapter; + + MonthWeekMaterialCalendarView monthWeekMaterialCalendarView = null; + + private CalendarDay selectedDate; + + MaterialCalendarView calendarView_month_mode; + + private String type = ""; + + LinearLayout layout_chengzhang, layout_report, layout_kaoqin, layout_buka, layout_qingjia; + + @Override + public int getLayoutId() { + return R.layout.fragment_cheng_zhang; + } + + @Override + public void initUI(View view, @Nullable Bundle savedInstanceState) { + + layout_report = view.findViewById(R.id.layout_report); + recyclerView = view.findViewById(R.id.recycle_report); + layout_kaoqin = view.findViewById(R.id.layout_kaoqin); + layout_buka = view.findViewById(R.id.layout_buka); + layout_qingjia = view.findViewById(R.id.layout_qingjia); + calendarView_month_mode = view.findViewById(R.id.calendarView_month_mode); + monthWeekMaterialCalendarView = view.findViewById(R.id.slidelayout); + layout_chengzhang = view.findViewById(R.id.layout_chengzhang); + + layout_kaoqin.setOnClickListener(this); + layout_buka.setOnClickListener(this); + layout_qingjia.setOnClickListener(this); + + type = getArguments().getString("type"); + if (type.equals(TYPE_CHENGZHANG)) { + layout_chengzhang.setVisibility(View.VISIBLE); + layout_report.setVisibility(View.GONE); + + } else { + + layout_chengzhang.setVisibility(View.GONE); + layout_report.setVisibility(View.VISIBLE); + + initCalendarView(); + initReportList(); + + } + } + + private void initCalendarView() { + + showDate(); + selectedDate = CalendarDay.today(); + monthWeekMaterialCalendarView.setMode(MonthWeekMaterialCalendarView.Mode.WEEK); + monthWeekMaterialCalendarView.setCurrentDate(selectedDate); + monthWeekMaterialCalendarView.setSelectedDate(selectedDate); + monthWeekMaterialCalendarView.state().edit().setSlideModeChangeListener(new MonthWeekMaterialCalendarView.SlideModeChangeListener() { + @Override + public void modeChange(MonthWeekMaterialCalendarView.Mode mode) { + + } + }).setSlideDateSelectedlistener(new MonthWeekMaterialCalendarView.SlideDateSelectedlistener() { + @Override + public void onDateSelected(@NonNull MaterialCalendarView widget, @NonNull CalendarDay date, boolean selected) { + selectedDate = date; + showDate(); + + } + }).setSlideOnMonthChangedListener(new MonthWeekMaterialCalendarView.SlideOnMonthChangedListener() { + @Override + public void onMonthChanged(MaterialCalendarView widget, CalendarDay date) { + selectedDate = date; + showDate(); + } + }).commit(); + + } + + private void showDate() { +// tvDate.setText(selectedDate.getYear() + "年" + (selectedDate.getMonth() + 1) + "月"); + } + + private void initReportList() { + mPresenter.reportResult(); + } + + @Override + public void UpdateList(List list) { + reportAdapter = new ReportAdapter(getActivity()); + reportAdapter.addAll(list); + recyclerView.setAdapter(reportAdapter); + } + + @Override + public void showReports(List stringList) { + if (null != handler) { + Message message = handler.obtainMessage(); + message.obj = stringList; + handler.sendMessage(message); + } + } + + @Override + public void onClick(View view) { + switch (view.getId()) { + case R.id.layout_kaoqin: + + break; + case R.id.layout_buka: + + break; + case R.id.layout_qingjia: + + break; + } + } + + @NonNull + @Override + public BasePresenter initPresenter() { + return new ReportPresenter(); + } + + Handler handler = null; + + public void showShaixuan(Handler handler) { + mPresenter.getReports(); + this.handler = handler; + } +} diff --git a/app/src/main/res/drawable-hdpi/kaoqin.png b/app/src/main/res/drawable-hdpi/kaoqin.png new file mode 100644 index 0000000..82c962c Binary files /dev/null and b/app/src/main/res/drawable-hdpi/kaoqin.png differ diff --git a/app/src/main/res/drawable-xhdpi/kaoqin.png b/app/src/main/res/drawable-xhdpi/kaoqin.png new file mode 100644 index 0000000..dbedc23 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/kaoqin.png differ diff --git a/app/src/main/res/drwable-xxhdpi/kaoqin.png b/app/src/main/res/drwable-xxhdpi/kaoqin.png new file mode 100644 index 0000000..4ac7761 Binary files /dev/null and b/app/src/main/res/drwable-xxhdpi/kaoqin.png differ diff --git a/app/src/main/res/layout/fragment_cheng_zhang.xml b/app/src/main/res/layout/fragment_cheng_zhang.xml new file mode 100644 index 0000000..8beca5b --- /dev/null +++ b/app/src/main/res/layout/fragment_cheng_zhang.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_report.xml b/app/src/main/res/layout/fragment_report.xml index baf52c4..aed0799 100644 --- a/app/src/main/res/layout/fragment_report.xml +++ b/app/src/main/res/layout/fragment_report.xml @@ -2,11 +2,12 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@color/bgColor" android:orientation="vertical" tools:context="com.shunzhi.parent.ui.fragment.ReportFragment"> - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:id="@+id/viewPager" + > - diff --git a/app/src/main/res/layout/layout_chengzhang.xml b/app/src/main/res/layout/layout_chengzhang.xml new file mode 100644 index 0000000..4da6c3b --- /dev/null +++ b/app/src/main/res/layout/layout_chengzhang.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/bottom_navigationview.xml b/app/src/main/res/menu/bottom_navigationview.xml index aedd00c..29bb3d5 100644 --- a/app/src/main/res/menu/bottom_navigationview.xml +++ b/app/src/main/res/menu/bottom_navigationview.xml @@ -1,27 +1,27 @@ - + + + + \ No newline at end of file -- libgit2 0.21.0