任务修改。
This commit is contained in:
@@ -5,13 +5,23 @@ import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
import com.xscm.modulemain.Application;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.room.activity.RoomActivity;
|
||||
@@ -40,7 +50,9 @@ import com.xscm.moduleutil.utils.SpUtil;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
@@ -57,14 +69,15 @@ import kotlin.jvm.functions.Function0;
|
||||
public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, ActivityDailyTasksBinding> implements DailyTasksConacts.View {
|
||||
|
||||
private TaskBoxAdapter mTaskBoxAdapter;
|
||||
private TaskSectionAdapter mTaskDataAdapter;
|
||||
|
||||
private TaskDataAdapter taskDataAdapter;
|
||||
|
||||
private List<GiftBoxBean.TaskDataBean> taskList = new ArrayList<>();
|
||||
|
||||
private boolean isJoinRoom = false;
|
||||
|
||||
private ViewPager2Adapter viewPager2Adapter;
|
||||
|
||||
private int currentTab = 0;
|
||||
|
||||
@Override
|
||||
protected DailyTasksPresenter bindPresenter() {
|
||||
return new DailyTasksPresenter(this, this);
|
||||
@@ -97,13 +110,22 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
||||
mBinding.rvTask.setLayoutManager(new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL, false));
|
||||
mBinding.rvTask.setAdapter(mTaskBoxAdapter);
|
||||
|
||||
mBinding.rvTaskToday.setLayoutManager(new GridLayoutManager(this, 1));
|
||||
mTaskDataAdapter = new TaskSectionAdapter(taskList);
|
||||
mBinding.rvTaskToday.setAdapter(mTaskDataAdapter);
|
||||
|
||||
mTaskDataAdapter.setOnItemClickListener(new TaskSectionAdapter.OnItemClickListener() {
|
||||
mBinding.imGz.setOnClickListener(v -> {
|
||||
Intent intent = new Intent(this, WebViewActivity.class);
|
||||
intent.putExtra("url", WebUrlConstants.INSTANCE.getWEB_RULES_URL());
|
||||
intent.putExtra("title", "规则 ");
|
||||
startActivity(intent);
|
||||
});
|
||||
|
||||
mTaskBoxAdapter.setOnItemClickListener(position -> {
|
||||
GiftBoxBean.GiftBean item = mTaskBoxAdapter.getItem(position);
|
||||
MvpPre.dailyTasksOpenBox(item.getId());
|
||||
});
|
||||
|
||||
viewPager2Adapter = new ViewPager2Adapter(taskList, new ViewPager2Adapter.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(GiftBoxBean.TaskDataBean taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
|
||||
public void onItemClick(int position, GiftBoxBean.TaskDataBean taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
|
||||
LogUtils.e("taskStatus:" + item.toString() + "\n taskItem:" + taskItem.toString());
|
||||
switch (item.getTask_status()) {
|
||||
case 1://未开始
|
||||
@@ -121,22 +143,56 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
||||
}
|
||||
}
|
||||
});
|
||||
mBinding.viewPager2.setAdapter(viewPager2Adapter);
|
||||
|
||||
|
||||
mBinding.imGz.setOnClickListener(v -> {
|
||||
Intent intent = new Intent(this, WebViewActivity.class);
|
||||
intent.putExtra("url", WebUrlConstants.INSTANCE.getWEB_RULES_URL());
|
||||
intent.putExtra("title", "规则 ");
|
||||
startActivity(intent);
|
||||
// 2. 设置 ViewPager2 的页面变化监听(联动 TabLayout)
|
||||
mBinding.viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
super.onPageSelected(position);
|
||||
// 更新 TabLayout 的选中状态
|
||||
TabLayout.Tab selectedTab = mBinding.tabTitle.getTabAt(position);
|
||||
if (selectedTab != null) {
|
||||
selectedTab.select();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
mTaskBoxAdapter.setOnItemClickListener(position -> {
|
||||
GiftBoxBean.GiftBean item = mTaskBoxAdapter.getItem(position);
|
||||
MvpPre.dailyTasksOpenBox(item.getId());
|
||||
mBinding.tabTitle.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
||||
@Override
|
||||
public void onTabSelected(TabLayout.Tab tab) {
|
||||
View customView = tab.getCustomView();
|
||||
if (customView != null) {
|
||||
TextView textView = customView.findViewById(R.id.tabText);
|
||||
ImageView iconView = customView.findViewById(R.id.tabIcon);
|
||||
iconView.setImageResource(R.mipmap.icon_task_select_lock);
|
||||
textView.setTextColor(getResources().getColor(com.xscm.moduleutil.R.color.black));
|
||||
}
|
||||
mBinding.viewPager2.setCurrentItem(tab.getPosition());
|
||||
currentTab = tab.getPosition();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTabUnselected(TabLayout.Tab tab) {
|
||||
View customView = tab.getCustomView();
|
||||
if (customView != null) {
|
||||
TextView textView = customView.findViewById(R.id.tabText);
|
||||
ImageView iconView = customView.findViewById(R.id.tabIcon);
|
||||
iconView.setImageResource(R.mipmap.icon_task_select_unlock);
|
||||
textView.setTextColor(getResources().getColor(com.xscm.moduleutil.R.color.colorBlack45));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTabReselected(TabLayout.Tab tab) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void isShowLoading(boolean b) {
|
||||
if (b) {
|
||||
mBinding.coolWaitView.setVisibility(View.VISIBLE);
|
||||
@@ -156,14 +212,40 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
||||
public void setGiftBox(GiftBoxBean giftBoxBean) {
|
||||
mBinding.tvTitle.setText("今日累计充值获得金币:" + (giftBoxBean.getUser_gold() != null ? giftBoxBean.getUser_gold() : "0"));
|
||||
mTaskBoxAdapter.setNewData(giftBoxBean.getGift_box_list());
|
||||
|
||||
taskList.clear();
|
||||
taskList.addAll(giftBoxBean.getTasks());
|
||||
|
||||
giftBoxBean.getTasks().stream()
|
||||
.filter(task -> !task.getTask_list().isEmpty())
|
||||
.forEach(taskList::add);
|
||||
mBinding.tabTitle.removeAllTabs();
|
||||
|
||||
mTaskDataAdapter.notifyDataSetChanged();
|
||||
for (int i = 0; i < taskList.size(); i++) {
|
||||
GiftBoxBean.TaskDataBean taskItem = taskList.get(i);
|
||||
TabLayout.Tab tab = mBinding.tabTitle.newTab();
|
||||
View customView = getLayoutInflater().inflate(R.layout.custom_task_tab, null);
|
||||
|
||||
TextView textView = customView.findViewById(R.id.tabText);
|
||||
ImageView iconView = customView.findViewById(R.id.tabIcon);
|
||||
|
||||
textView.setText(taskItem.getTask_type_name());
|
||||
if (taskItem.getIs_lock() == 1) {
|
||||
if (i == 0) {
|
||||
iconView.setImageResource(R.mipmap.icon_task_select_lock);
|
||||
} else {
|
||||
iconView.setImageResource(R.mipmap.icon_task_select_unlock);
|
||||
}
|
||||
} else {
|
||||
iconView.setVisibility(View.GONE);
|
||||
}
|
||||
tab.setCustomView(customView);
|
||||
mBinding.tabTitle.addTab(tab);
|
||||
}
|
||||
// 4. 默认选中第一个 Tab(可选)
|
||||
mBinding.tabTitle.post(() -> {
|
||||
if (mBinding.tabTitle.getTabCount() > currentTab) {
|
||||
mBinding.tabTitle.selectTab(mBinding.tabTitle.getTabAt(currentTab));
|
||||
}
|
||||
});
|
||||
|
||||
viewPager2Adapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
private void taskStatus1(GiftBoxBean.TaskDataBean.DailyTasksBean item) {
|
||||
@@ -283,5 +365,65 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
||||
}
|
||||
}
|
||||
|
||||
class ViewPager2Adapter extends RecyclerView.Adapter<ViewPager2Adapter.ViewHolder> {
|
||||
private List<GiftBoxBean.TaskDataBean> taskList;
|
||||
private OnItemClickListener onItemClickListener;
|
||||
|
||||
public ViewPager2Adapter(List<GiftBoxBean.TaskDataBean> taskList, OnItemClickListener onItemClickListener) {
|
||||
this.taskList = taskList;
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ViewPager2Adapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_recycleview_task, parent, false);
|
||||
return new ViewHolder(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ViewPager2Adapter.ViewHolder holder, int position) {
|
||||
holder.recyclerView.setLayoutManager(new GridLayoutManager(DailyTasksActivity.this, 1));
|
||||
|
||||
TaskDataAdapter adapter = new TaskDataAdapter();
|
||||
holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext()));
|
||||
holder.recyclerView.setAdapter(adapter);
|
||||
adapter.setNewData(taskList.get(position).getTask_list());
|
||||
if (taskList.get(position).getIs_lock() == 1) {
|
||||
View emptyView = LayoutInflater.from(DailyTasksActivity.this).inflate(R.layout.empty_img_layout, null, false);
|
||||
ImageView ivEmpty = emptyView.findViewById(R.id.image_empty);
|
||||
if (taskList.get(position).getTask_type_name().contains("师徒")) {
|
||||
ivEmpty.setImageResource(R.mipmap.icon_ts_lock_show_bg);
|
||||
} else if (taskList.get(position).getTask_type_name().contains("情侣")) {
|
||||
ivEmpty.setImageResource(R.mipmap.icon_cp_lock_show_bg);
|
||||
}
|
||||
adapter.setEmptyView(emptyView);
|
||||
}
|
||||
|
||||
adapter.setItemClickLitener((view, position1, item) -> {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemClick(position, taskList.get(position), item);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return taskList.size();
|
||||
}
|
||||
|
||||
static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
public RecyclerView recyclerView;
|
||||
|
||||
public ViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
recyclerView = itemView.findViewById(R.id.recycle_view);
|
||||
}
|
||||
}
|
||||
|
||||
interface OnItemClickListener {
|
||||
void onItemClick(int position, GiftBoxBean.TaskDataBean taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user