修改每日任务,修改切换后更新背景音乐

This commit is contained in:
2025-08-04 21:31:01 +08:00
parent 5a6600a7e3
commit 38337c63a5
16 changed files with 247 additions and 40 deletions

View File

@@ -3,11 +3,14 @@ package com.example.modulevocal.activity;
import android.content.Intent;
import android.graphics.Color;
import android.view.View;
import android.widget.TextView;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.example.modulevocal.R;
import com.example.modulevocal.adapter.TaskBoxAdapter;
import com.example.modulevocal.adapter.TaskDataAdapter;
@@ -22,6 +25,7 @@ import com.qxcm.moduleutil.bean.GiftBoxBean;
import com.qxcm.moduleutil.bean.GiftName;
import com.qxcm.moduleutil.bean.TaskDataBean;
import com.qxcm.moduleutil.bean.TaskItem;
import com.qxcm.moduleutil.utils.ARouteConstants;
import com.qxcm.moduleutil.utils.SpUtil;
import java.util.ArrayList;
@@ -37,6 +41,8 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
private TaskBoxAdapter mTaskBoxAdapter;
private TaskSectionAdapter mTaskDataAdapter;
private TaskDataAdapter taskDataAdapter;
@Override
protected DailyTasksPresenter bindPresenter() {
return new DailyTasksPresenter(this, this);
@@ -76,6 +82,25 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
MvpPre.dailyTasksOpenBox(item.getId());
});
// taskDataAdapter = new TaskDataAdapter();
// taskDataAdapter.setItemClickLitener(new TaskDataAdapter.ItemClickLitener() {
// @Override
// public void onItemClick(View view, int position, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
// if (view.getId() == R.id.task_type){
// MvpPre.dailyTasksOpenBox(item.getTask_id()+"");
// }
// }
// });
// mTaskBoxAdapter.setOnItemChildClickListener((adapter, view, position) -> {
// if (view.getId() == R.id.task_type){
// TextView tv = (TextView) view;
// if (tv.getText().toString().equals("领取金币")){
// GiftBoxBean.TaskDataBean taskDataBean = (GiftBoxBean.TaskDataBean) adapter.getItem(position);
// MvpPre.dailyTasksOpenBox(taskDataBean.getDaily_tasks().get(position).getTask_id()+"");
// }
// }
// });
}
@Override
@@ -85,7 +110,7 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
@Override
public void setGiftBox(GiftBoxBean giftBoxBean) {
mBinding.tvTitle.setText("今日累计获得金币:" + giftBoxBean.getUser_gold());
mBinding.tvTitle.setText("今日累计充值获得金币:" + (giftBoxBean.getUser_gold() != null ? giftBoxBean.getUser_gold() : "0"));
mTaskBoxAdapter.setNewData(giftBoxBean.getGift_box_list());
mBinding.rvTaskToday.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
@@ -97,12 +122,33 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
sections.add(new TaskItem("特殊任务", giftBoxBean.getTasks().getDaily_tasks_special()));
// 平台任务
sections.add(new TaskItem("平台任务", giftBoxBean.getTasks().getUsual_tasks()));
mBinding.rvTaskToday.setAdapter(new TaskSectionAdapter(sections));
mTaskDataAdapter = new TaskSectionAdapter(sections);
mBinding.rvTaskToday.setAdapter(mTaskDataAdapter);
mTaskDataAdapter.setOnItemClickListener(new TaskSectionAdapter.OnItemClickListener() {
@Override
public void onItemClick(TaskItem taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
if (taskItem.getTitle().equals("今日任务") || taskItem.getTitle().equals("平台任务")) {
if (item.getTask_status()==2) {
MvpPre.dailyTasksComplete(item.getTask_id() + "");
}
} else {
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("room_id", item.getFrom_id() + "").navigation();
}
}
});
}
@Override
public void dailyTasksOpenBox(GiftName giftName) {
ToastUtils.show(giftName.getGift_name());
MvpPre.tasksLihen();
}
@Override
public void dailyTasksComplete() {
ToastUtils.show("任务完成");
MvpPre.tasksLihen();
}
}

View File

@@ -58,9 +58,15 @@ public class TaskBoxAdapter extends BaseQuickAdapter<GiftBoxBean.GiftBean, BaseV
}
helper.setText(R.id.tv_jb, ""+item.getMeet()+"金币");
double progress = Double.parseDouble(item.getUnlock_progress()!=null?item.getUnlock_progress():"0.00");
long progressNum = (long) (progress * 1000);
LinearProgressIndicator progressIndicator= helper.getView(R.id.progress_indicator);
progressIndicator.setProgress(Integer.parseInt(item.getUnlock_progress())*100);
helper.setText(R.id.tv_jb_num, Integer.parseInt(item.getUnlock_progress())*100+"%");
progressIndicator.setProgress(Integer.parseInt(String.valueOf(progressNum)));
double unlock_num = Double.parseDouble(item.getUnlock_progress()!=null?item.getUnlock_progress():"0.00");
long unlock_num_long = (long) (unlock_num * 1000);
helper.setText(R.id.tv_jb_num, Integer.parseInt(String.valueOf(unlock_num_long))/10 + "%");
if (position==0){
progressIndicator.setIndicatorColor(mContext.getResources().getColor(com.qxcm.moduleutil.R.color.color_E24171));
}else {
@@ -79,6 +85,9 @@ public class TaskBoxAdapter extends BaseQuickAdapter<GiftBoxBean.GiftBean, BaseV
unlockView.setClickable(true);
unlockView.setEnabled(true);
unlockView.setAlpha(1.0f); // 恢复正常显示
}else if (item.getStatus().equals("2")){
unlockView.setClickable(false);
unlockView.setEnabled(false);
}
else {
// helper.setImageDrawable(R.id.iv_unlock, mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.unlocked));

View File

@@ -1,5 +1,6 @@
package com.example.modulevocal.adapter;
import android.view.View;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
@@ -17,6 +18,14 @@ public class TaskDataAdapter extends BaseQuickAdapter<GiftBoxBean.TaskDataBean.D
super(R.layout.item_task_data);
}
public interface ItemClickLitener{
void onItemClick(View view, int position,GiftBoxBean.TaskDataBean.DailyTasksBean item);
}
private ItemClickLitener mItemClickLitener;
public void setItemClickLitener(ItemClickLitener mItemClickLitener) {
this.mItemClickLitener = mItemClickLitener;
}
@Override
protected void convert(BaseViewHolder helper, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
TextView textView=helper.getView(R.id.task_type);
@@ -34,9 +43,18 @@ public class TaskDataAdapter extends BaseQuickAdapter<GiftBoxBean.TaskDataBean.D
// textView.setBackground(mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.ylq));
// }
textView.setText(item.getTask_type_str());
textView.setText(item.getTask_type_str().equals("去完成")?"未完成": (item.getTask_type_str().equals("领取金币")?"待领取":item.getTask_type_str()));
helper.setText(R.id.task_name, item.getTask_name())
.setText(R.id.task_jb_number, "+"+item.getGold_reward());
helper.getView(R.id.task_type).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mItemClickLitener!= null){
mItemClickLitener.onItemClick(view, helper.getLayoutPosition(), item);
}
}
});
}
}

View File

@@ -10,6 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.GiftBoxBean;
import com.qxcm.moduleutil.bean.TaskItem;
import java.util.List;
@@ -21,7 +22,16 @@ public class TaskSectionAdapter extends RecyclerView.Adapter<TaskSectionAdapter.
public TaskSectionAdapter(List<TaskItem> sections) {
this.sections = sections;
}
// 定义点击事件接口
public interface OnItemClickListener {
void onItemClick(TaskItem taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item);
}
private OnItemClickListener listener;
public void setOnItemClickListener(OnItemClickListener listener) {
this.listener = listener;
}
@NonNull
@Override
public SectionViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -43,6 +53,15 @@ public class TaskSectionAdapter extends RecyclerView.Adapter<TaskSectionAdapter.
}else {
holder.view.setVisibility(View.GONE);
}
adapter.setItemClickLitener(new TaskDataAdapter.ItemClickLitener() {
@Override
public void onItemClick(View view, int position, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
if (listener!= null) {
listener.onItemClick(section,item);
}
}
});
}
@Override

View File

@@ -17,6 +17,8 @@ public class DailyTasksConacts {
void setGiftBox(GiftBoxBean giftBoxBean);
void dailyTasksOpenBox(GiftName giftName);
void dailyTasksComplete();
}
public interface IMePre extends IPresenter {
@@ -25,5 +27,7 @@ public class DailyTasksConacts {
void dailyTasksOpenBox(String gift_box_id);
void dailyTasksComplete(String task_id);
}
}

View File

@@ -70,8 +70,10 @@ public class MyBagListFragment extends BaseMvpFragment<MyBagPresenter, FragmentM
@Override
public void packIncome(List<MyBagDataBean> myBagDataBean) {
myBagDataBeanList.addAll(myBagDataBean);
mAdapter.setNewData(myBagDataBeanList);
if (myBagDataBeanList!=null) {
myBagDataBeanList.addAll(myBagDataBean);
mAdapter.setNewData(myBagDataBeanList);
}
}
@Override

View File

@@ -50,4 +50,22 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
});
}
@Override
public void dailyTasksComplete(String task_id) {
api.dailyTasksComplete(task_id, new BaseObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
}
@Override
public void onNext(String s) {
MvpRef.get().dailyTasksComplete();
}
});
}
}