diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3659ec9..bbdd103 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,22 +4,22 @@ + - - - - - - - - + @@ -27,7 +27,10 @@ - + + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/activity/ManagementFragment.java b/app/src/main/java/com/example/myapplication/activity/FragmentManagement.java similarity index 88% rename from app/src/main/java/com/example/myapplication/activity/ManagementFragment.java rename to app/src/main/java/com/example/myapplication/activity/FragmentManagement.java index 6828a66..794065b 100644 --- a/app/src/main/java/com/example/myapplication/activity/ManagementFragment.java +++ b/app/src/main/java/com/example/myapplication/activity/FragmentManagement.java @@ -1,11 +1,14 @@ package com.example.myapplication.activity; import android.content.Intent; +import android.os.Bundle; +import android.view.KeyEvent; import com.example.myapplication.R; import com.example.myapplication.base.BaseActivity; import com.example.myapplication.fragment.CapacityEvaluationFragment; import com.example.myapplication.fragment.CapacityEvaluationFragment2; +import com.example.myapplication.fragment.EventPrefectureFragment; import com.example.myapplication.fragment.FindFragment; import com.example.myapplication.fragment.ForgetPawFragment; import com.example.myapplication.fragment.MineFragment; @@ -27,7 +30,7 @@ import androidx.fragment.app.FragmentTransaction; * fragment 管理作用: */ -public class ManagementFragment extends BaseActivity { +public class FragmentManagement extends BaseActivity { private FragmentManager fragmentManager; private int fourthly_tag; private MineFragment mineFragment;//我的fragment @@ -38,6 +41,7 @@ public class ManagementFragment extends BaseActivity { private CapacityEvaluationFragment capacityEvaluationFragment;//发现-能力测评fragment private TaskExplainFragment taskExplainFragment;//发现-任务说明的fragment + private EventPrefectureFragment eventPrefectureFragment;//发现-活动专区的fragment private TaskExplainFragment2 taskExplainFragment2;//发现-任务说明2的fragment private CapacityEvaluationFragment2 capacityEvaluationFragment2;//发现-能力测评2的fragment @@ -46,6 +50,7 @@ public class ManagementFragment extends BaseActivity { private ForgetPawFragment forgetPawFragment;//忘记密码fragment + @Override protected int getLayout() { return R.layout.management_fragment; @@ -72,6 +77,7 @@ public class ManagementFragment extends BaseActivity { fragmentTransaction.hide(recordFragment); if (treasureFragment != null) fragmentTransaction.hide(treasureFragment); + if (taskPrefectureFragment!=null) if (taskPrefectureFragment != null) fragmentTransaction.hide(taskPrefectureFragment); @@ -89,6 +95,8 @@ public class ManagementFragment extends BaseActivity { fragmentTransaction.hide(registerFragment); if (forgetPawFragment != null) fragmentTransaction.hide(forgetPawFragment); + if (eventPrefectureFragment != null) + fragmentTransaction.hide(eventPrefectureFragment); } @@ -163,6 +171,14 @@ public class ManagementFragment extends BaseActivity { fragmentTransaction.show(taskExplainFragment); } break; + case 9: + if (eventPrefectureFragment == null) { + eventPrefectureFragment = new EventPrefectureFragment(); + fragmentTransaction.add(R.id.frame_layout, eventPrefectureFragment); + } else { + fragmentTransaction.show(eventPrefectureFragment); + } + break; case 10: if (taskExplainFragment2 == null) { taskExplainFragment2 = new TaskExplainFragment2(); @@ -221,6 +237,9 @@ public class ManagementFragment extends BaseActivity { case 8: taskExplainFragment.onActivityResult(requestCode, resultCode, data); break; + case 9: + eventPrefectureFragment.onActivityResult(requestCode,resultCode,data); + break; case 10: taskExplainFragment2.onActivityResult(requestCode, resultCode, data); break; @@ -235,10 +254,9 @@ public class ManagementFragment extends BaseActivity { } private void setZtlTextColor() { - ImmersionBar.with(this) - .statusBarDarkFont(true, 0.2f) //原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持状态栏字体变色,会使当前状态栏加上透明度,否则不执行透明度 + ImmersionBar.with(this).statusBarDarkFont(true, 0.2f) + //原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持状态栏字体变色,会使当前状态栏加上透明度,否则不执行透明度 .init(); - } } diff --git a/app/src/main/java/com/example/myapplication/activity/HomeActivity.java b/app/src/main/java/com/example/myapplication/activity/HomeActivity.java index f17c962..c51fce6 100644 --- a/app/src/main/java/com/example/myapplication/activity/HomeActivity.java +++ b/app/src/main/java/com/example/myapplication/activity/HomeActivity.java @@ -22,10 +22,13 @@ import com.google.android.material.tabs.TabLayout; import com.gyf.immersionbar.ImmersionBar; import java.util.ArrayList; +/** + * 首页 + */ public class HomeActivity extends BaseActivity{ private NoSlideViewPager mViewPager; private TabLayout mTab; - private final String[] name = {"寻宝", "记录", "发现", "我的"}; + private final String[] names = {"寻宝", "记录", "发现", "我的"}; private final int[] pic = {R.mipmap.map_select,R.mipmap.task_select,R.mipmap.article_select,R.mipmap.mine_select}; private final int[] pic1 = {R.mipmap.map,R.mipmap.task,R.mipmap.article,R.mipmap.mine}; @@ -64,10 +67,10 @@ public class HomeActivity extends BaseActivity{ mViewPager.setCanScroll(true); mViewPager.setNoScrollAnim(false); mTab.setupWithViewPager(mViewPager); - mTab.getTabAt(0).setText(name[0]).setIcon(pic[0]); - mTab.getTabAt(1).setText(name[1]).setIcon(pic1[1]); - mTab.getTabAt(2).setText(name[2]).setIcon(pic1[2]); - mTab.getTabAt(3).setText(name[3]).setIcon(pic1[3]); + mTab.getTabAt(0).setText(names[0]).setIcon(pic[0]); + mTab.getTabAt(1).setText(names[1]).setIcon(pic1[1]); + mTab.getTabAt(2).setText(names[2]).setIcon(pic1[2]); + mTab.getTabAt(3).setText(names[3]).setIcon(pic1[3]); mTab.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { //禁止table layout效果 @Override diff --git a/app/src/main/java/com/example/myapplication/activity/LoginActivity.java b/app/src/main/java/com/example/myapplication/activity/LoginActivity.java index 4d3d326..5da6a38 100644 --- a/app/src/main/java/com/example/myapplication/activity/LoginActivity.java +++ b/app/src/main/java/com/example/myapplication/activity/LoginActivity.java @@ -46,12 +46,12 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener public void onClick(View v) { switch (v.getId()) { case R.id.tv_register: - Intent register = new Intent(this, ManagementFragment.class); + Intent register = new Intent(this, FragmentManagement.class); register.putExtra("tag", 5); startActivity(register); break; case R.id.tv_forget_paw: - Intent forgetPaw = new Intent(this, ManagementFragment.class); + Intent forgetPaw = new Intent(this, FragmentManagement.class); forgetPaw.putExtra("tag", 6); startActivity(forgetPaw); break; diff --git a/app/src/main/java/com/example/myapplication/activity/MainActivity.java b/app/src/main/java/com/example/myapplication/activity/MainActivity.java index c5cfbf0..52d7aa8 100644 --- a/app/src/main/java/com/example/myapplication/activity/MainActivity.java +++ b/app/src/main/java/com/example/myapplication/activity/MainActivity.java @@ -10,6 +10,9 @@ import android.os.CountDownTimer; import com.example.myapplication.R; import com.example.myapplication.base.BaseActivity; +/** + * 启动页 + */ public class MainActivity extends BaseActivity { @Override diff --git a/app/src/main/java/com/example/myapplication/activity/WebActivity.java b/app/src/main/java/com/example/myapplication/activity/WebActivity.java new file mode 100644 index 0000000..07f841b --- /dev/null +++ b/app/src/main/java/com/example/myapplication/activity/WebActivity.java @@ -0,0 +1,49 @@ +package com.example.myapplication.activity; + +import android.view.View; +import android.webkit.WebView; +import android.widget.ImageView; + +import com.example.myapplication.R; +import com.example.myapplication.base.BaseActivity; +import com.gyf.immersionbar.ImmersionBar; + +/** + * 详情页 + */ +public class WebActivity extends BaseActivity implements View.OnClickListener { + + private ImageView ivIcon; + private WebView nWebView; + + @Override + protected int getLayout() { + return R.layout.activity_web; + } + + @Override + protected void initView() { + super.initView(); + ImmersionBar.with(this) + .statusBarDarkFont(true, 0.2f) + //原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持状态栏字体变色,会使当前状态栏加上透明度,否则不执行透明度 + .init(); + nWebView = findViewById(R.id.news_webView); + ivIcon = findViewById(R.id.iv_icon); + ivIcon.setOnClickListener(this::onClick); + } + + @Override + protected void initData() { + super.initData(); + } + + @Override + public void onClick(View v) { + switch (v.getId()){ + case R.id.iv_icon: + finish(); + break; + } + } +} diff --git a/app/src/main/java/com/example/myapplication/adapter/EventPrefectureAdapter.java b/app/src/main/java/com/example/myapplication/adapter/EventPrefectureAdapter.java new file mode 100644 index 0000000..051e1fb --- /dev/null +++ b/app/src/main/java/com/example/myapplication/adapter/EventPrefectureAdapter.java @@ -0,0 +1,80 @@ +package com.example.myapplication.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.myapplication.R; +import com.example.myapplication.bean.EventPrefectureBean; +import com.example.myapplication.bean.TaskExplainBean; + +import java.util.ArrayList; +import java.util.List; + +public class EventPrefectureAdapter extends RecyclerView.Adapter { + private List dataBeans=new ArrayList<>(); + private Context context; + + public EventPrefectureAdapter(Context context) { + this.context = context; + } + + public void setDataBeans(List dataBeans) { + this.dataBeans.addAll(dataBeans); + notifyDataSetChanged(); + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View mView = LayoutInflater.from(context).inflate(R.layout.event_prefecture_item, parent, false); + return new ViewHolder(mView); + } + + @Override + public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + EventPrefectureBean.BodyBean.DataBean dataBean = dataBeans.get(position); + holder.tvTitle.setText(dataBean.getTitle()); + holder.tvDest.setText(dataBean.getSubtitle()); + holder.tvTime.setText(dataBean.getCreatetime()); + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (clickItem!=null){ + clickItem.item(dataBean.getId()); + } + } + }); + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + public class ViewHolder extends RecyclerView.ViewHolder { + TextView tvTitle; + TextView tvDest; + TextView tvTime; + public ViewHolder(@NonNull View itemView) { + super(itemView); + tvTitle=itemView.findViewById(R.id.tv_title); + tvDest=itemView.findViewById(R.id.tv_dest); + tvTime=itemView.findViewById(R.id.tv_time); + } + } + clickItem clickItem; + + public void setClickItem(EventPrefectureAdapter.clickItem clickItem) { + this.clickItem = clickItem; + } + + public interface clickItem{ + void item(int aInt); + } +} diff --git a/app/src/main/java/com/example/myapplication/adapter/TaskPrefectureAdapter.java b/app/src/main/java/com/example/myapplication/adapter/TaskPrefectureAdapter.java new file mode 100644 index 0000000..686d534 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/adapter/TaskPrefectureAdapter.java @@ -0,0 +1,79 @@ +package com.example.myapplication.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.myapplication.R; +import com.example.myapplication.bean.TaskExplainBean; + +import java.util.ArrayList; +import java.util.List; + +public class TaskPrefectureAdapter extends RecyclerView.Adapter { + private List dataBeans=new ArrayList<>(); + private Context context; + + public TaskPrefectureAdapter(Context context) { + this.context = context; + } + + public void setDataBeans(List dataBeans) { + this.dataBeans.addAll(dataBeans); + notifyDataSetChanged(); + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View mView = LayoutInflater.from(context).inflate(R.layout.task_prefecture_item, parent, false); + return new ViewHolder(mView); + } + + @Override + public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + TaskExplainBean.BodyBean.DataBean dataBean = dataBeans.get(position); + holder.tvTitle.setText(dataBean.getTitle()); + holder.tvDest.setText(dataBean.getSubtitle()); + holder.tvTime.setText(dataBean.getCreatetime()); + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (clickItem!=null){ + clickItem.item(dataBean.getId()); + } + } + }); + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + public class ViewHolder extends RecyclerView.ViewHolder { + TextView tvTitle; + TextView tvDest; + TextView tvTime; + public ViewHolder(@NonNull View itemView) { + super(itemView); + tvTitle=itemView.findViewById(R.id.tv_title); + tvDest=itemView.findViewById(R.id.tv_dest); + tvTime=itemView.findViewById(R.id.tv_time); + } + } + clickItem clickItem; + + public void setClickItem(TaskPrefectureAdapter.clickItem clickItem) { + this.clickItem = clickItem; + } + + public interface clickItem{ + void item(int aInt); + } +} diff --git a/app/src/main/java/com/example/myapplication/base/BaseActivity.java b/app/src/main/java/com/example/myapplication/base/BaseActivity.java index 77bacd7..40ac940 100644 --- a/app/src/main/java/com/example/myapplication/base/BaseActivity.java +++ b/app/src/main/java/com/example/myapplication/base/BaseActivity.java @@ -1,9 +1,12 @@ package com.example.myapplication.base; +import android.app.Activity; +import android.app.Application; import android.content.pm.ActivityInfo; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; +import android.util.DisplayMetrics; import android.view.KeyEvent; import android.widget.Toast; @@ -28,15 +31,32 @@ public abstract class BaseActivity extends AppCompatActivity { ImmersionBar.with(this).init(); Collector.addActivity(this); setContentView(getLayout()); - initMVP(); initView(); initData(); initListener(); } + private static void setCustomDensity(Application application, Activity activity) { + final DisplayMetrics appDisplayMetrics = application.getResources().getDisplayMetrics(); + // 以设计DP为360为例,获得目标Density + final float targetDensity = (float) (appDisplayMetrics.widthPixels / 360.0); + final float targetScaledDensity = targetDensity * (appDisplayMetrics.scaledDensity / appDisplayMetrics.density); + final int targetDensityDpi = (int)(targetDensity * 160); + //设置application的Density + appDisplayMetrics.density = targetDensity; + appDisplayMetrics.scaledDensity = targetScaledDensity; + appDisplayMetrics.densityDpi = targetDensityDpi; + //设置activity的Density + final DisplayMetrics activityDisplayMetrics = activity.getResources().getDisplayMetrics(); + activityDisplayMetrics.density = targetDensity; + activityDisplayMetrics.scaledDensity = targetScaledDensity; + activityDisplayMetrics.densityDpi = targetDensityDpi; + } + protected void toast(String mag){ Toast.makeText(UserApplication.getUserApplication(), mag, Toast.LENGTH_SHORT).show(); } + protected void initMVP() { } public void showLoadingDialog() { diff --git a/app/src/main/java/com/example/myapplication/base/BaseFragment.java b/app/src/main/java/com/example/myapplication/base/BaseFragment.java index b031b49..aa71384 100644 --- a/app/src/main/java/com/example/myapplication/base/BaseFragment.java +++ b/app/src/main/java/com/example/myapplication/base/BaseFragment.java @@ -8,6 +8,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.IdRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; @@ -25,19 +26,21 @@ public abstract class BaseFragment extends Fragment { @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - mView = LayoutInflater.from(getActivity()).inflate(getLayout(), container, false); - initMvp(); - initView(); - initData(); - + View mView= LayoutInflater.from(getActivity()).inflate(getLayout(), container, false); return mView; } - - protected void initMvp() { - + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + initMvp(); + initData(); + initView(); } + protected T findViewById(@IdRes int id){ + return getView().findViewById(id); + } protected abstract int getLayout(); public void showLoadingDialog() { alertDialog = new AlertDialog.Builder(getActivity()).create(); @@ -67,18 +70,15 @@ public abstract class BaseFragment extends Fragment { alertDialog.dismiss(); } } - protected void initData() { - } + protected void initMvp() { } - protected void initView() { + protected void initData() { } - - } + protected void initView() { } @Override public void onDestroyView() { super.onDestroyView(); - } } diff --git a/app/src/main/java/com/example/myapplication/bean/TaskZoneBean.java b/app/src/main/java/com/example/myapplication/bean/EventPrefectureBean.java similarity index 95% rename from app/src/main/java/com/example/myapplication/bean/TaskZoneBean.java rename to app/src/main/java/com/example/myapplication/bean/EventPrefectureBean.java index 1311b7e..da7b7d2 100644 --- a/app/src/main/java/com/example/myapplication/bean/TaskZoneBean.java +++ b/app/src/main/java/com/example/myapplication/bean/EventPrefectureBean.java @@ -3,9 +3,9 @@ package com.example.myapplication.bean; import java.util.List; /** - * 任务专区bean + * 活动专区 */ -public class TaskZoneBean { +public class EventPrefectureBean { /** * msg : 成功 * body : {"rownum":0,"data":[{"Subtitle":"说明0","createtime":"2021-05-26 15:33:51","src":"","id":0,"title":"标题0"},{"Subtitle":"说明1","createtime":"2021-05-26 15:33:51","src":"","id":1,"title":"标题1"},{"Subtitle":"说明2","createtime":"2021-05-26 15:33:51","src":"","id":2,"title":"标题2"},{"Subtitle":"说明3","createtime":"2021-05-26 15:33:51","src":"","id":3,"title":"标题3"},{"Subtitle":"说明4","createtime":"2021-05-26 15:33:51","src":"","id":4,"title":"标题4"},{"Subtitle":"说明5","createtime":"2021-05-26 15:33:51","src":"","id":5,"title":"标题5"},{"Subtitle":"说明6","createtime":"2021-05-26 15:33:51","src":"","id":6,"title":"标题6"},{"Subtitle":"说明7","createtime":"2021-05-26 15:33:51","src":"","id":7,"title":"标题7"},{"Subtitle":"说明8","createtime":"2021-05-26 15:33:51","src":"","id":8,"title":"标题8"},{"Subtitle":"说明9","createtime":"2021-05-26 15:33:51","src":"","id":9,"title":"标题9"}],"numFound":100,"rows":10} @@ -51,7 +51,7 @@ public class TaskZoneBean { private int rownum; private int numFound; private int rows; - private List data; + private List data; public int getRownum() { return rownum; @@ -77,11 +77,11 @@ public class TaskZoneBean { this.rows = rows; } - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } diff --git a/app/src/main/java/com/example/myapplication/bean/TaskExplainBean.java b/app/src/main/java/com/example/myapplication/bean/TaskExplainBean.java new file mode 100644 index 0000000..d485de0 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/bean/TaskExplainBean.java @@ -0,0 +1,144 @@ +package com.example.myapplication.bean; + +import java.util.List; + +/** + * 任务说明点击 + */ +public class TaskExplainBean { + /** + * msg : 成功 + * body : {"rownum":0,"data":[{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":11,"title":"标题11"},{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":12,"title":"标题12"},{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":13,"title":"标题13"}],"numFound":100,"rows":10} + * status : 0 + */ + + private String msg; + private BodyBean body; + private int status; + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public BodyBean getBody() { + return body; + } + + public void setBody(BodyBean body) { + this.body = body; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public static class BodyBean { + /** + * rownum : 0 + * data : [{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":11,"title":"标题11"},{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":12,"title":"标题12"},{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":13,"title":"标题13"}] + * numFound : 100 + * rows : 10 + */ + + private int rownum; + private int numFound; + private int rows; + private List data; + + public int getRownum() { + return rownum; + } + + public void setRownum(int rownum) { + this.rownum = rownum; + } + + public int getNumFound() { + return numFound; + } + + public void setNumFound(int numFound) { + this.numFound = numFound; + } + + public int getRows() { + return rows; + } + + public void setRows(int rows) { + this.rows = rows; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * Subtitle : + * createtime : + * src : http://10.130.23.166:8080/cbt/img/blue.png + * id : 11 + * title : 标题11 + */ + + private String Subtitle; + private String createtime; + private String src; + private int id; + private String title; + + public String getSubtitle() { + return Subtitle; + } + + public void setSubtitle(String Subtitle) { + this.Subtitle = Subtitle; + } + + public String getCreatetime() { + return createtime; + } + + public void setCreatetime(String createtime) { + this.createtime = createtime; + } + + public String getSrc() { + return src; + } + + public void setSrc(String src) { + this.src = src; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + } + } +} diff --git a/app/src/main/java/com/example/myapplication/bean/TaskSpecificationBean.java b/app/src/main/java/com/example/myapplication/bean/TaskSpecificationBean.java index be20859..f9b70cf 100644 --- a/app/src/main/java/com/example/myapplication/bean/TaskSpecificationBean.java +++ b/app/src/main/java/com/example/myapplication/bean/TaskSpecificationBean.java @@ -3,12 +3,12 @@ package com.example.myapplication.bean; import java.util.List; /** - * 任务说明点击 + * 任务专区bean */ public class TaskSpecificationBean { /** * msg : 成功 - * body : {"rownum":0,"data":[{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":11,"title":"标题11"},{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":12,"title":"标题12"},{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":13,"title":"标题13"}],"numFound":100,"rows":10} + * body : {"rownum":0,"data":[{"Subtitle":"说明0","createtime":"2021-05-26 15:33:51","src":"","id":0,"title":"标题0"},{"Subtitle":"说明1","createtime":"2021-05-26 15:33:51","src":"","id":1,"title":"标题1"},{"Subtitle":"说明2","createtime":"2021-05-26 15:33:51","src":"","id":2,"title":"标题2"},{"Subtitle":"说明3","createtime":"2021-05-26 15:33:51","src":"","id":3,"title":"标题3"},{"Subtitle":"说明4","createtime":"2021-05-26 15:33:51","src":"","id":4,"title":"标题4"},{"Subtitle":"说明5","createtime":"2021-05-26 15:33:51","src":"","id":5,"title":"标题5"},{"Subtitle":"说明6","createtime":"2021-05-26 15:33:51","src":"","id":6,"title":"标题6"},{"Subtitle":"说明7","createtime":"2021-05-26 15:33:51","src":"","id":7,"title":"标题7"},{"Subtitle":"说明8","createtime":"2021-05-26 15:33:51","src":"","id":8,"title":"标题8"},{"Subtitle":"说明9","createtime":"2021-05-26 15:33:51","src":"","id":9,"title":"标题9"}],"numFound":100,"rows":10} * status : 0 */ @@ -43,7 +43,7 @@ public class TaskSpecificationBean { public static class BodyBean { /** * rownum : 0 - * data : [{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":11,"title":"标题11"},{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":12,"title":"标题12"},{"Subtitle":"","createtime":"","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":13,"title":"标题13"}] + * data : [{"Subtitle":"说明0","createtime":"2021-05-26 15:33:51","src":"","id":0,"title":"标题0"},{"Subtitle":"说明1","createtime":"2021-05-26 15:33:51","src":"","id":1,"title":"标题1"},{"Subtitle":"说明2","createtime":"2021-05-26 15:33:51","src":"","id":2,"title":"标题2"},{"Subtitle":"说明3","createtime":"2021-05-26 15:33:51","src":"","id":3,"title":"标题3"},{"Subtitle":"说明4","createtime":"2021-05-26 15:33:51","src":"","id":4,"title":"标题4"},{"Subtitle":"说明5","createtime":"2021-05-26 15:33:51","src":"","id":5,"title":"标题5"},{"Subtitle":"说明6","createtime":"2021-05-26 15:33:51","src":"","id":6,"title":"标题6"},{"Subtitle":"说明7","createtime":"2021-05-26 15:33:51","src":"","id":7,"title":"标题7"},{"Subtitle":"说明8","createtime":"2021-05-26 15:33:51","src":"","id":8,"title":"标题8"},{"Subtitle":"说明9","createtime":"2021-05-26 15:33:51","src":"","id":9,"title":"标题9"}] * numFound : 100 * rows : 10 */ @@ -87,11 +87,11 @@ public class TaskSpecificationBean { public static class DataBean { /** - * Subtitle : - * createtime : - * src : http://10.130.23.166:8080/cbt/img/blue.png - * id : 11 - * title : 标题11 + * Subtitle : 说明0 + * createtime : 2021-05-26 15:33:51 + * src : + * id : 0 + * title : 标题0 */ private String Subtitle; diff --git a/app/src/main/java/com/example/myapplication/bean/TaskSpecificationInfo.java b/app/src/main/java/com/example/myapplication/bean/TaskSpecificationInfo.java deleted file mode 100644 index bb82430..0000000 --- a/app/src/main/java/com/example/myapplication/bean/TaskSpecificationInfo.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.example.myapplication.bean; - -public class TaskSpecificationInfo { - -} diff --git a/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment.java b/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment.java index 67cbdbf..874458c 100644 --- a/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment.java +++ b/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment.java @@ -11,7 +11,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import com.example.myapplication.R; import com.example.myapplication.activity.CapacityEvaluationAdapter; -import com.example.myapplication.activity.ManagementFragment; +import com.example.myapplication.activity.FragmentManagement; import com.example.myapplication.base.BaseFragment; import com.example.myapplication.bean.TaskExplainInfo; import com.example.myapplication.http.Callback; @@ -44,8 +44,8 @@ public class CapacityEvaluationFragment extends BaseFragment implements View.OnC @Override protected void initView() { super.initView(); - ivEvaluationTaskFinish = mView.findViewById(R.id.iv_evaluation_task_finish); - capacityEvaluationRecycler = mView.findViewById(R.id.capacity_evaluation_recycler); + ivEvaluationTaskFinish =findViewById(R.id.iv_evaluation_task_finish); + capacityEvaluationRecycler = findViewById(R.id.capacity_evaluation_recycler); ivEvaluationTaskFinish.setOnClickListener(this::onClick); capacityEvaluationRecycler.setLayoutManager(new LinearLayoutManager(getActivity())); capacityEvaluationRecycler.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL)); @@ -71,7 +71,7 @@ public class CapacityEvaluationFragment extends BaseFragment implements View.OnC capacityEvaluationAdapter.setOnCapacityClick(new CapacityEvaluationAdapter.OnCapacityClick() { @Override public void onClick(int id) { - Intent itemIntent = new Intent(getActivity(), ManagementFragment.class); + Intent itemIntent = new Intent(getActivity(), FragmentManagement.class); itemIntent.putExtra("tag", 12); startActivity(itemIntent); //Toast.makeText(getContext(), "哈哈,成功了"+id, Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/example/myapplication/fragment/EventPrefectureFragment.java b/app/src/main/java/com/example/myapplication/fragment/EventPrefectureFragment.java new file mode 100644 index 0000000..4e66df2 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/fragment/EventPrefectureFragment.java @@ -0,0 +1,161 @@ +package com.example.myapplication.fragment; + +import android.content.Intent; +import android.util.Log; +import android.view.View; +import android.widget.ImageView; +import android.widget.Toast; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; + +import com.example.myapplication.R; +import com.example.myapplication.activity.WebActivity; +import com.example.myapplication.adapter.EventPrefectureAdapter; +import com.example.myapplication.base.BaseFragment; +import com.example.myapplication.bean.EventPrefectureBean; +import com.example.myapplication.http.Callback; +import com.example.myapplication.http.HttpInterface; +import com.example.myapplication.http.OkGoBuilder; +import com.jcodecraeer.xrecyclerview.ProgressStyle; +import com.jcodecraeer.xrecyclerview.XRecyclerView; + +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.List; + +/** + * 发现-活动专区 + */ +public class EventPrefectureFragment extends BaseFragment implements View.OnClickListener { + + private ImageView ivEventTask; + private XRecyclerView eventRecycler; + private List taskExplainBean; + private EventPrefectureAdapter eventPrefectureAdapter; + private int page = 1; + + @Override + protected int getLayout() { + return R.layout.event_prefecture_fragment; + } + + @Override + protected void initData() { + super.initData(); + taskExplainBean = new ArrayList<>(); + initNetwork(true); + } + + private void initNetwork(boolean b) { + OkGoBuilder.getInstance() + .Builder(getActivity()) + .url(HttpInterface.listEvent) + .method(OkGoBuilder.GET) + .cls(EventPrefectureBean.class) + .json(new JSONObject()) + .callback(new Callback() { + @Override + public void onSuccess(EventPrefectureBean eventPrefectureBean, int id) { + dismissLoadingDialog(); + eventPrefectureAdapter.setDataBeans(eventPrefectureBean.getBody().getData()); + Log.d("TAG", "onSuccess: " + eventPrefectureBean.getMsg() + "sssssssssssss"); + //initEventPrefecture(eventPrefectureBean,b); + } + + @Override + public void onError(Throwable e, int id) { + dismissLoadingDialog(); + Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); + Log.d("TAG", "onError: " + e.getMessage()); + } + }).build(); + } + + private void initEventPrefecture(EventPrefectureBean eventPrefectureBean, boolean start) { + if (eventPrefectureBean.getStatus() == 0) { + if (start) { + if (taskExplainBean.size() > 0) { + taskExplainBean.clear(); + } + if (eventPrefectureBean.getBody() == null) { + Toast.makeText(getActivity(), "没有相关数据", Toast.LENGTH_SHORT).show(); + } else { + taskExplainBean.addAll(eventPrefectureBean.getBody().getData()); + page++; + } + eventPrefectureAdapter.notifyDataSetChanged(); + eventRecycler.refreshComplete(); + } else { + if (eventPrefectureBean.getBody() == null) { + eventRecycler.setNoMore(true); + } else { + taskExplainBean.addAll(eventPrefectureBean.getBody().getData()); + eventPrefectureAdapter.notifyDataSetChanged(); + eventRecycler.loadMoreComplete(); + page++; + } + } + } else if (eventPrefectureBean.getStatus() == 2) { + if (start) { + if (taskExplainBean.size() > 0) { + taskExplainBean.clear(); + eventPrefectureAdapter.notifyDataSetChanged(); + } + eventRecycler.refreshComplete(); + } else { + eventRecycler.setNoMore(true); + } + Toast.makeText(getActivity(), eventPrefectureBean.getMsg(), Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(getActivity(), eventPrefectureBean.getMsg(), Toast.LENGTH_SHORT).show(); + } + } + + @Override + protected void initView() { + super.initView(); + ivEventTask = findViewById(R.id.iv_event_task); + ivEventTask.setOnClickListener(this::onClick); + eventRecycler = findViewById(R.id.event_recycler); + eventRecycler.setLayoutManager(new LinearLayoutManager(getActivity())); + eventRecycler.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL)); + eventRecycler.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader); + eventRecycler.setLoadingMoreProgressStyle(ProgressStyle.BallRotate); + //取消上拉加载,刷新功能。 + eventRecycler.setPullRefreshEnabled(false); + eventRecycler.setLoadingMoreEnabled(false); + eventPrefectureAdapter = new EventPrefectureAdapter(getActivity()); + eventRecycler.setAdapter(eventPrefectureAdapter); + eventRecycler.getDefaultFootView().setNoMoreHint("已全部加载完毕"); + eventRecycler.setLoadingListener(new XRecyclerView.LoadingListener() { + @Override + public void onRefresh() { + + } + + @Override + public void onLoadMore() { + + } + }); + eventPrefectureAdapter.setClickItem(new EventPrefectureAdapter.clickItem() { + @Override + public void item(int aInt) { + Intent intent = new Intent(getContext(), WebActivity.class); + intent.putExtra("id",aInt); + startActivity(intent); + } + }); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_event_task: + getActivity().finish(); + break; + } + } +} diff --git a/app/src/main/java/com/example/myapplication/fragment/FindFragment.java b/app/src/main/java/com/example/myapplication/fragment/FindFragment.java index a41ebcf..c4f5c02 100644 --- a/app/src/main/java/com/example/myapplication/fragment/FindFragment.java +++ b/app/src/main/java/com/example/myapplication/fragment/FindFragment.java @@ -4,8 +4,9 @@ import android.content.Intent; import android.view.View; import android.widget.LinearLayout; + import com.example.myapplication.R; -import com.example.myapplication.activity.ManagementFragment; +import com.example.myapplication.activity.FragmentManagement; import com.example.myapplication.base.BaseFragment; @@ -13,13 +14,12 @@ import com.example.myapplication.base.BaseFragment; * 发现的Fragment * 2021-5-25 */ -public class FindFragment extends BaseFragment implements View.OnClickListener { +public class FindFragment extends BaseFragment implements View.OnClickListener{ private LinearLayout linear_task_prefecture;//任务专区 private LinearLayout linear_task_explain;//任务说明 - private LinearLayout linearRight; private LinearLayout linearEnd; - private LinearLayout linearTaskExplain; + private LinearLayout linear_event_prefecture; @Override protected int getLayout() { @@ -29,13 +29,13 @@ public class FindFragment extends BaseFragment implements View.OnClickListener { @Override protected void initView() { super.initView(); - linear_task_prefecture = mView.findViewById(R.id.linear_task_prefecture); + linear_event_prefecture = findViewById(R.id.linear_event_prefecture); + linear_event_prefecture.setOnClickListener(this::onClick); + linear_task_prefecture =findViewById(R.id.linear_task_prefecture); linear_task_prefecture.setOnClickListener(this::onClick); - linear_task_explain = mView.findViewById(R.id.linear_task_explain); + linear_task_explain =findViewById(R.id.linear_task_explain); linear_task_explain.setOnClickListener(this::onClick); - linearRight = mView.findViewById(R.id.linear_right); - linearRight.setOnClickListener(this::onClick); - linearEnd = mView.findViewById(R.id.linear_end); + linearEnd = findViewById(R.id.linear_end); linearEnd.setOnClickListener(this::onClick); } @@ -49,17 +49,22 @@ public class FindFragment extends BaseFragment implements View.OnClickListener { public void onClick(View v) { switch (v.getId()) { case R.id.linear_task_prefecture: - Intent prefectureIntent = new Intent(getActivity(), ManagementFragment.class); + Intent prefectureIntent = new Intent(getActivity(), FragmentManagement.class); prefectureIntent.putExtra("tag", 7); startActivity(prefectureIntent); break; case R.id.linear_task_explain: - Intent explainIntent = new Intent(getActivity(), ManagementFragment.class); + Intent explainIntent = new Intent(getActivity(), FragmentManagement.class); explainIntent.putExtra("tag", 8); startActivity(explainIntent); break; + case R.id.linear_event_prefecture: + Intent eventIntent = new Intent(getActivity(), FragmentManagement.class); + eventIntent.putExtra("tag",9); + startActivity(eventIntent); + break; case R.id.linear_end: - Intent endIntent = new Intent(getActivity(), ManagementFragment.class); + Intent endIntent = new Intent(getActivity(), FragmentManagement.class); endIntent.putExtra("tag", 11); startActivity(endIntent); break; diff --git a/app/src/main/java/com/example/myapplication/fragment/RecordFragment.java b/app/src/main/java/com/example/myapplication/fragment/RecordFragment.java index 08de20e..ea37ed3 100644 --- a/app/src/main/java/com/example/myapplication/fragment/RecordFragment.java +++ b/app/src/main/java/com/example/myapplication/fragment/RecordFragment.java @@ -1,18 +1,7 @@ package com.example.myapplication.fragment; -import android.util.Log; -import android.widget.Toast; - import com.example.myapplication.R; import com.example.myapplication.base.BaseFragment; -import com.example.myapplication.bean.ListBean; -import com.example.myapplication.bean.TaskSpecificationBean; -import com.example.myapplication.http.Callback; -import com.example.myapplication.http.HttpInterface; -import com.example.myapplication.http.OkGoBuilder; - -import org.json.JSONArray; -import org.json.JSONObject; /** * 记录的Fragment @@ -33,24 +22,7 @@ public class RecordFragment extends BaseFragment { public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { - OkGoBuilder.getInstance() - .Builder(getActivity()) - .url(HttpInterface.listTask) - .method(OkGoBuilder.GET) - .cls(TaskSpecificationBean.class) - .json(new JSONObject()) - .callback(new Callback() { - @Override - public void onSuccess(TaskSpecificationBean gl, int id) { - Toast.makeText(getActivity(),gl.getMsg()+"sssssssssssssssssss", Toast.LENGTH_SHORT).show(); - } - @Override - public void onError(Throwable e, int id) { - Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); - Log.d("TAG", "onError: "+e.getMessage()); - } - }).build(); } } @Override diff --git a/app/src/main/java/com/example/myapplication/fragment/RegisterFragment.java b/app/src/main/java/com/example/myapplication/fragment/RegisterFragment.java index ba49487..a29b73e 100644 --- a/app/src/main/java/com/example/myapplication/fragment/RegisterFragment.java +++ b/app/src/main/java/com/example/myapplication/fragment/RegisterFragment.java @@ -4,7 +4,6 @@ import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; -import android.widget.Toast; import com.example.myapplication.R; import com.example.myapplication.base.BaseFragment; @@ -12,7 +11,7 @@ import com.example.myapplication.base.BaseFragment; /** * 注册页面 */ -public class RegisterFragment extends BaseFragment implements View.OnClickListener{ +public class RegisterFragment extends BaseFragment { private EditText etRegisterPhone; @@ -35,19 +34,22 @@ public class RegisterFragment extends BaseFragment implements View.OnClickListen @Override protected void initView() { super.initView(); - ivFinish =mView.findViewById(R.id.iv_finish); - etRegisterPhone = mView.findViewById(R.id.et_register_phone); - etRegisterNote = mView.findViewById(R.id.et_register_note); - registerGetNote = mView.findViewById(R.id.register_get_note); - etRegisterReferrer = mView.findViewById(R.id.et_register_referrer); - etRegisterPaw = mView.findViewById(R.id.et_register_paw); - etRegisterConfirmPaw = mView.findViewById(R.id.et_register_confirm_paw); - ivRegisterCheck = mView.findViewById(R.id.iv_register_check); - haveGoLogin = mView.findViewById(R.id.have_go_login); - tvRegister = mView.findViewById(R.id.tv_register); - - ivFinish.setOnClickListener(this::onClick); - registerGetNote.setOnClickListener(this::onClick); + ivFinish =findViewById(R.id.iv_finish); + etRegisterPhone =findViewById(R.id.et_register_phone); + etRegisterNote = findViewById(R.id.et_register_note); + registerGetNote = findViewById(R.id.register_get_note); + etRegisterReferrer = findViewById(R.id.et_register_referrer); + etRegisterPaw =findViewById(R.id.et_register_paw); + etRegisterConfirmPaw = findViewById(R.id.et_register_confirm_paw); + ivRegisterCheck = findViewById(R.id.iv_register_check); + haveGoLogin = findViewById(R.id.have_go_login); + tvRegister =findViewById(R.id.tv_register); + ivFinish.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + getActivity().finish(); + } + }); } @@ -57,17 +59,4 @@ public class RegisterFragment extends BaseFragment implements View.OnClickListen super.initData(); } - @Override - public void onClick(View v) { - switch (v.getId()){ - case R.id.iv_finish: - getActivity().finish(); - break; - case R.id.register_get_note: - Toast.makeText(getActivity(), "获取验证码", Toast.LENGTH_SHORT).show(); - break; - - - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment.java b/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment.java index 89114f9..3b2efa0 100644 --- a/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment.java +++ b/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment.java @@ -10,7 +10,7 @@ import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import com.example.myapplication.R; -import com.example.myapplication.activity.ManagementFragment; +import com.example.myapplication.activity.FragmentManagement; import com.example.myapplication.activity.TaskExplainAdapter; import com.example.myapplication.base.BaseFragment; import com.example.myapplication.bean.TaskExplainInfo; @@ -42,8 +42,8 @@ public class TaskExplainFragment extends BaseFragment implements View.OnClickLis @Override protected void initView() { super.initView(); - ivFindTaskExplain = mView.findViewById(R.id.iv_find_task_explain); - taskExplainRecycle = mView.findViewById(R.id.task_explain_recycler); + ivFindTaskExplain = findViewById(R.id.iv_find_task_explain); + taskExplainRecycle =findViewById(R.id.task_explain_recycler); ivFindTaskExplain.setOnClickListener(this::onClick); taskExplainRecycle.setLayoutManager(new LinearLayoutManager(getActivity())); @@ -71,7 +71,7 @@ public class TaskExplainFragment extends BaseFragment implements View.OnClickLis taskExplainAdapter.setOnItemClick(new TaskExplainAdapter.OnItemClick() { @Override public void onClick(int pos) { - Intent itemIntent = new Intent(getActivity(), ManagementFragment.class); + Intent itemIntent = new Intent(getActivity(), FragmentManagement.class); itemIntent.putExtra("tag", 10); startActivity(itemIntent); //Toast.makeText(getContext(), "你猜"+pos, Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment2.java b/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment2.java index 00a80aa..716f787 100644 --- a/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment2.java +++ b/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment2.java @@ -43,8 +43,8 @@ public class TaskExplainFragment2 extends BaseFragment implements View.OnClickLi @Override protected void initView() { super.initView(); - ivTaskExplain2 = mView.findViewById(R.id.iv_task_explain2_finish); - taskExplain2Recycler = mView.findViewById(R.id.task_explain2_recycler); + ivTaskExplain2 = findViewById(R.id.iv_task_explain2_finish); + taskExplain2Recycler = findViewById(R.id.task_explain2_recycler); ivTaskExplain2.setOnClickListener(this::onClick); taskExplain2Recycler.setLayoutManager(new LinearLayoutManager(getActivity())); taskExplain2Recycler.addItemDecoration(new DividerItemDecoration(getActivity(),DividerItemDecoration.VERTICAL)); diff --git a/app/src/main/java/com/example/myapplication/fragment/TaskPrefectureFragment.java b/app/src/main/java/com/example/myapplication/fragment/TaskPrefectureFragment.java index 2ce3836..1169857 100644 --- a/app/src/main/java/com/example/myapplication/fragment/TaskPrefectureFragment.java +++ b/app/src/main/java/com/example/myapplication/fragment/TaskPrefectureFragment.java @@ -1,12 +1,30 @@ package com.example.myapplication.fragment; +import android.content.Intent; +import android.util.Log; import android.view.View; import android.widget.ImageView; +import android.widget.Toast; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; import com.example.myapplication.R; +import com.example.myapplication.activity.WebActivity; +import com.example.myapplication.adapter.TaskPrefectureAdapter; import com.example.myapplication.base.BaseFragment; +import com.example.myapplication.bean.TaskExplainBean; +import com.example.myapplication.http.Callback; +import com.example.myapplication.http.HttpInterface; +import com.example.myapplication.http.OkGoBuilder; +import com.jcodecraeer.xrecyclerview.ProgressStyle; import com.jcodecraeer.xrecyclerview.XRecyclerView; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.List; + /** * 发现-任务专区 */ @@ -14,7 +32,9 @@ public class TaskPrefectureFragment extends BaseFragment implements View.OnClick private ImageView mIvFindTask; private XRecyclerView taskRecycler; - + private List dataBeanList; + private TaskPrefectureAdapter taskPrefectureAdapter; + private int page=1; @Override protected int getLayout() { return R.layout.task_prefecture_fragment; @@ -23,14 +43,109 @@ public class TaskPrefectureFragment extends BaseFragment implements View.OnClick @Override protected void initView() { super.initView(); - mIvFindTask = mView.findViewById(R.id.iv_find_task); + mIvFindTask = findViewById(R.id.iv_find_task); mIvFindTask.setOnClickListener(this::onClick); - taskRecycler = mView.findViewById(R.id.task_recycler); + taskRecycler = findViewById(R.id.task_recycler); + taskRecycler.setLayoutManager(new LinearLayoutManager(getActivity())); + taskRecycler.addItemDecoration(new DividerItemDecoration(getActivity(),DividerItemDecoration.VERTICAL)); + taskRecycler.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader); + taskRecycler.setLoadingMoreProgressStyle(ProgressStyle.BallRotate); + //取消上拉加载,刷新功能。 + taskRecycler.setPullRefreshEnabled(false); + taskRecycler.setLoadingMoreEnabled(false); + taskPrefectureAdapter = new TaskPrefectureAdapter(getActivity()); + taskRecycler.setAdapter(taskPrefectureAdapter); + taskRecycler.getDefaultFootView().setNoMoreHint("已全部加载完毕"); + taskRecycler.setLoadingListener(new XRecyclerView.LoadingListener() { + @Override + public void onRefresh() { + + } + + @Override + public void onLoadMore() { + + } + }); + taskPrefectureAdapter.setClickItem(new TaskPrefectureAdapter.clickItem() { + @Override + public void item(int id) { + Intent intent = new Intent(getContext(), WebActivity.class); + intent.putExtra("id",id); + startActivity(intent); + } + }); } @Override protected void initData() { super.initData(); + dataBeanList=new ArrayList<>(); + initNetwork(true); + + } + + private void initNetwork(boolean start) { + OkGoBuilder.getInstance() + .Builder(getActivity()) + .url(HttpInterface.listTask) + .method(OkGoBuilder.GET) + .cls(TaskExplainBean.class) + .json(new JSONObject()) + .callback(new Callback() { + @Override + public void onSuccess(TaskExplainBean taskSpecificationBean, int id) { + dismissLoadingDialog(); + taskPrefectureAdapter.setDataBeans(taskSpecificationBean.getBody().getData()); + Log.d("TAG", "onSuccess: "+taskSpecificationBean.getMsg()+""); + //initTaskSpecification(taskSpecificationBean,start); + } + @Override + public void onError(Throwable e, int id) { + dismissLoadingDialog(); + Log.d("TAG", "onError: "+e.getMessage()); + } + }).build(); + } + + private void initTaskSpecification(TaskExplainBean taskSpecificationBean, boolean start) { + if (taskSpecificationBean.getStatus()==0) { + if (start) { + if (dataBeanList.size() > 0) { + dataBeanList.clear(); + } + if (taskSpecificationBean.getBody() == null) { + Toast.makeText(getActivity(), "没有相关数据", Toast.LENGTH_SHORT).show(); + } else { + dataBeanList.addAll(taskSpecificationBean.getBody().getData()); + page++; + } + taskPrefectureAdapter.notifyDataSetChanged(); + taskRecycler.refreshComplete(); + } else { + if (taskSpecificationBean.getBody() == null) { + taskRecycler.setNoMore(true); + } else { + dataBeanList.addAll(taskSpecificationBean.getBody().getData()); + taskPrefectureAdapter.notifyDataSetChanged(); + taskRecycler.loadMoreComplete(); + page++; + } + } + } else if (taskSpecificationBean.getStatus() == 2) { + if (start) { + if (dataBeanList.size() > 0) { + dataBeanList.clear(); + taskPrefectureAdapter.notifyDataSetChanged(); + } + taskRecycler.refreshComplete(); + }else { + taskRecycler.setNoMore(true); + } + Toast.makeText(getActivity(), taskSpecificationBean.getMsg(), Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(getActivity(), taskSpecificationBean.getMsg(), Toast.LENGTH_SHORT).show(); + } } @Override diff --git a/app/src/main/java/com/example/myapplication/http/HttpInterface.java b/app/src/main/java/com/example/myapplication/http/HttpInterface.java index 3168124..c8277c3 100644 --- a/app/src/main/java/com/example/myapplication/http/HttpInterface.java +++ b/app/src/main/java/com/example/myapplication/http/HttpInterface.java @@ -4,5 +4,7 @@ public class HttpInterface { //http://172.21.91.160:8000/api/user/list public static final String IP = "http://172.21.91.160:8000/api/1/"; public static final String listTask = IP + "task/list";//任务专区,活动专区 + public static final String listEvent = IP + "task/list";//任务专区,活动专区 + public static final String listInfo = IP + "task/info";//任务说明 public static final String listTaskExplain = IP + "task/info";//任务说明 } diff --git a/app/src/main/java/com/example/myapplication/util/CustomScrollView.java b/app/src/main/java/com/example/myapplication/util/CustomScrollView.java new file mode 100644 index 0000000..4429107 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/util/CustomScrollView.java @@ -0,0 +1,34 @@ +package com.example.myapplication.util; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.GestureDetector; +import android.view.MotionEvent; +import android.widget.ScrollView; + +public class CustomScrollView extends ScrollView { + private GestureDetector mGestureDetector; + OnTouchListener mGestureListener; + + public CustomScrollView(Context context, AttributeSet attrs) { + super(context, attrs); + mGestureDetector = new GestureDetector(new YScrollDetector()); + setFadingEdgeLength(0); + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev); + } + + // 如果水平滑动返回false + class YScrollDetector extends GestureDetector.SimpleOnGestureListener { + @Override + public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { + if(Math.abs(distanceY) > Math.abs(distanceX)) { + return true; + } + return false; + } + } +} diff --git a/app/src/main/res/drawable/ic_baseline_arrow.xml b/app/src/main/res/drawable/ic_baseline_arrow.xml index f632160..fa122e1 100644 --- a/app/src/main/res/drawable/ic_baseline_arrow.xml +++ b/app/src/main/res/drawable/ic_baseline_arrow.xml @@ -1,10 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_baseline_arrow_back.xml b/app/src/main/res/drawable/ic_baseline_arrow_back.xml new file mode 100644 index 0000000..f632160 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_arrow_back.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/icon_arrow.xml b/app/src/main/res/drawable/icon_arrow.xml new file mode 100644 index 0000000..01b2c76 --- /dev/null +++ b/app/src/main/res/drawable/icon_arrow.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/icon_capacity_evaluation.png b/app/src/main/res/drawable/icon_capacity_evaluation.png new file mode 100644 index 0000000..eee0f4a Binary files /dev/null and b/app/src/main/res/drawable/icon_capacity_evaluation.png differ diff --git a/app/src/main/res/drawable/icon_event_prefecture.png b/app/src/main/res/drawable/icon_event_prefecture.png new file mode 100644 index 0000000..4534c10 Binary files /dev/null and b/app/src/main/res/drawable/icon_event_prefecture.png differ diff --git a/app/src/main/res/drawable/icon_task_prefecture.png b/app/src/main/res/drawable/icon_task_prefecture.png new file mode 100644 index 0000000..a1b2fd4 Binary files /dev/null and b/app/src/main/res/drawable/icon_task_prefecture.png differ diff --git a/app/src/main/res/drawable/icon_task_specification.png b/app/src/main/res/drawable/icon_task_specification.png new file mode 100644 index 0000000..919df9b Binary files /dev/null and b/app/src/main/res/drawable/icon_task_specification.png differ diff --git a/app/src/main/res/layout/activity_web.xml b/app/src/main/res/layout/activity_web.xml new file mode 100644 index 0000000..bfb09e2 --- /dev/null +++ b/app/src/main/res/layout/activity_web.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/event_prefecture_fragment.xml b/app/src/main/res/layout/event_prefecture_fragment.xml new file mode 100644 index 0000000..8f91e28 --- /dev/null +++ b/app/src/main/res/layout/event_prefecture_fragment.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/event_prefecture_item.xml b/app/src/main/res/layout/event_prefecture_item.xml new file mode 100644 index 0000000..0725788 --- /dev/null +++ b/app/src/main/res/layout/event_prefecture_item.xml @@ -0,0 +1,40 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/find_fragment.xml b/app/src/main/res/layout/find_fragment.xml index 596e19a..468e3c7 100644 --- a/app/src/main/res/layout/find_fragment.xml +++ b/app/src/main/res/layout/find_fragment.xml @@ -15,168 +15,182 @@ + style="@style/text_style_toolbar_title" + android:textColor="#fff" + android:text="发现" /> - - - - - - - - - - - - - - - - - - - - - - - - - - + > + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/task_prefecture_fragment.xml b/app/src/main/res/layout/task_prefecture_fragment.xml index 8614ad0..7477525 100644 --- a/app/src/main/res/layout/task_prefecture_fragment.xml +++ b/app/src/main/res/layout/task_prefecture_fragment.xml @@ -10,7 +10,7 @@ android:id="@+id/rl_find" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="#fff" + android:background="#1BA5F1" android:paddingTop="@dimen/top_pind_sp" android:orientation="horizontal" app:layout_constraintEnd_toEndOf="parent" @@ -23,20 +23,15 @@ android:layout_height="45dp" android:layout_alignParentLeft="true" android:layout_marginLeft="15dp" - android:src="@drawable/ic_baseline_arrow" + android:src="@drawable/icon_arrow" /> + android:text="任务专区" /> + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0fec131..af3ab4d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - navinfo + mapp HomeActivity First Fragment @@ -9,6 +9,4 @@ Hello first fragment Hello second fragment. Arg: %1$s - - Hello blank fragment \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 00c0626..4e39ee6 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -20,5 +20,26 @@ @android:color/darker_gray @android:color/darker_gray - + + + + \ No newline at end of file