|
@@ -56,6 +56,7 @@ public class MainActivity extends AppCompatActivity {
|
|
|
private List<View> views = new ArrayList<>(3);
|
|
|
private BGABanner mainBanner;
|
|
|
private SwipeRefreshLayout mainRefreshLayout, courseRefreshLayout;
|
|
|
+ private TextView courseHotTip, courseExcellentTip;
|
|
|
private TextView name, school;
|
|
|
|
|
|
private User user;
|
|
@@ -97,6 +98,8 @@ public class MainActivity extends AppCompatActivity {
|
|
|
views.add(page_2);
|
|
|
views.add(page_3);
|
|
|
viewPager.setAdapter(new MainActivityPagerAdapter(views));
|
|
|
+ // 主页搜索
|
|
|
+ page_1.findViewById(R.id.search).setOnClickListener(view -> SearchActivity.start(MainActivity.this));
|
|
|
// 主页轮播
|
|
|
mainBanner = page_1.findViewById(R.id.mainBanner);
|
|
|
mainBanner.setTransitionEffect(TransitionEffect.Default); // 用 Java 代码方式设置切换动画
|
|
@@ -105,7 +108,9 @@ public class MainActivity extends AppCompatActivity {
|
|
|
mainBanner.setAdapter(new MainActivityBGABannerAdapter(MainActivity.this));
|
|
|
// 主页 热门课程和优秀课程
|
|
|
RecyclerView courseHotView = page_1.findViewById(R.id.courseHotView);
|
|
|
+ courseHotTip = page_1.findViewById(R.id.courseHotTip);
|
|
|
RecyclerView courseExcellentView = page_1.findViewById(R.id.courseExcellentView);
|
|
|
+ courseExcellentTip = page_1.findViewById(R.id.courseExcellentTip);
|
|
|
// 主页 所有课程
|
|
|
courseHotView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
|
|
courseHotAdapter = new MainHotCourseAdapter(this, courseHotList);
|
|
@@ -130,6 +135,10 @@ public class MainActivity extends AppCompatActivity {
|
|
|
// 设置布局管理器,参数 StaggeredGridLayoutManager,可以是 RecyclerView 实现和 StaggeredGridView 一样的效果
|
|
|
courseBasicView.setLayoutManager(staggeredGridLayoutManager);
|
|
|
courseBasicAdapter = new MainBasicCourseAdapter(this, courseBasicList);
|
|
|
+ courseBasicAdapter.setOnItemClickListener(position -> {
|
|
|
+ MainBasicCourseAdapter.ItemBean itemBean = courseBasicList.get(position);
|
|
|
+ CourseDetailActivity.start(MainActivity.this, itemBean.getCourseId());
|
|
|
+ });
|
|
|
courseBasicView.setAdapter(courseBasicAdapter);
|
|
|
// 首页刷新视图
|
|
|
mainRefreshLayout = page_1.findViewById(R.id.mainRefreshLayout);
|
|
@@ -189,12 +198,7 @@ public class MainActivity extends AppCompatActivity {
|
|
|
});
|
|
|
courseRefreshLayout.setOnRefreshListener(this::loadCourseData);
|
|
|
// 轮播监听
|
|
|
- mainBanner.setDelegate((banner, itemView, model, position) -> {
|
|
|
- switch (position) {
|
|
|
- default:
|
|
|
- Toast.makeText(getApplicationContext(), bannerData.getLinks().get(position), Toast.LENGTH_SHORT).show();
|
|
|
- }
|
|
|
- });
|
|
|
+ mainBanner.setDelegate((banner, itemView, model, position) -> BannerActivity.start(this, bannerData.getLinks().get(position)));
|
|
|
}
|
|
|
|
|
|
private void loadData() {
|
|
@@ -264,6 +268,7 @@ public class MainActivity extends AppCompatActivity {
|
|
|
mainTaskCount++;
|
|
|
if (mainTaskCount == 3) mainRefreshLayout.setRefreshing(false);
|
|
|
ResponseResult result = JSONObject.parseObject(s, ResponseResult.class);
|
|
|
+ courseHotTip.setText("+" + result.getMessage() + " more");
|
|
|
Collection collection = result.getDataset();
|
|
|
for (Object o : collection) {
|
|
|
Course course = JSONObject.parseObject(JSONObject.toJSONString(o), Course.class);
|
|
@@ -289,6 +294,7 @@ public class MainActivity extends AppCompatActivity {
|
|
|
mainTaskCount++;
|
|
|
if (mainTaskCount == 3) mainRefreshLayout.setRefreshing(false);
|
|
|
ResponseResult result = JSONObject.parseObject(s, ResponseResult.class);
|
|
|
+ courseExcellentTip.setText("+" + result.getMessage() + " more");
|
|
|
Collection collection = result.getDataset();
|
|
|
for (Object o : collection) {
|
|
|
Course course = JSONObject.parseObject(JSONObject.toJSONString(o), Course.class);
|
|
@@ -312,11 +318,12 @@ public class MainActivity extends AppCompatActivity {
|
|
|
public void success(String s) {
|
|
|
runOnUiThread(() -> {
|
|
|
courseRefreshLayout.setRefreshing(false);
|
|
|
+ courseBasicList.clear();
|
|
|
ResponseResult result = JSONObject.parseObject(s, ResponseResult.class);
|
|
|
Collection collection = result.getDataset();
|
|
|
for (Object o : collection) {
|
|
|
Course course = JSONObject.parseObject(JSONObject.toJSONString(o), Course.class);
|
|
|
- courseBasicList.add(new MainBasicCourseAdapter.ItemBean(course.getCover(), course.getName(), course.getIntroduction()));
|
|
|
+ courseBasicList.add(new MainBasicCourseAdapter.ItemBean(course.getId(), course.getCover(), course.getName(), course.getIntroduction()));
|
|
|
}
|
|
|
courseBasicAdapter.notifyDataSetChanged();
|
|
|
});
|
|
@@ -326,12 +333,14 @@ public class MainActivity extends AppCompatActivity {
|
|
|
|
|
|
public void onViewClick(View view) {
|
|
|
switch (view.getId()) {
|
|
|
+ case R.id.course:
|
|
|
+ MyCourseActivity.start(MainActivity.this);
|
|
|
+ break;
|
|
|
case R.id.settings:
|
|
|
Toast.makeText(MainActivity.this, "设置", Toast.LENGTH_SHORT).show();
|
|
|
break;
|
|
|
- case R.id.collection:
|
|
|
- break;
|
|
|
case R.id.help:
|
|
|
+ Toast.makeText(MainActivity.this, "帮助与反馈", Toast.LENGTH_SHORT).show();
|
|
|
break;
|
|
|
case R.id.exit:
|
|
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|