Files
yusheng-android/modulevocal/src/main/java/com/example/modulevocal/activity/UserHomepageActivity.java
2025-10-24 17:52:11 +08:00

174 lines
5.2 KiB
Java

package com.example.modulevocal.activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageView;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.facade.annotation.Autowired;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.blankj.utilcode.util.ToastUtils;
import com.example.moduletablayout.listener.CustomTabEntity;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.UserHomepageConacts;
import com.example.modulevocal.databinding.ActivityUserHomepageBinding;
import com.example.modulevocal.fragment.UserHomepageFragment;
import com.example.modulevocal.presenter.UserHomepagePresenter;
import com.xscm.moduleutil.activity.BaseMvpActivity;
import com.xscm.moduleutil.adapter.MyFragmentPagerAdapter;
import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.bean.CircleListBean;
import com.xscm.moduleutil.bean.UserInfo;
import com.xscm.moduleutil.bean.XBannerData;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.ImageLoader;
import com.xscm.moduleutil.utils.ImageUtils;
import com.xscm.moduleutil.utils.SpUtil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
*@author qx
*@data 2025/6/4
*@description: 用户主页
*/
@Route(path = ARouteConstants.USER_HOME_PAGE)
public class UserHomepageActivity extends BaseMvpActivity<UserHomepagePresenter, ActivityUserHomepageBinding> implements UserHomepageConacts.View{
@Autowired
String userId;
@Autowired
int type;//判断是从哪里进行的跳转
public String from;
private ArrayList<CustomTabEntity> titles = new ArrayList<>();
@Override
protected void initData() {
// userId=getIntent().getStringExtra("userId");
//
}
@Override
protected void onResume() {
super.onResume();
MvpPre.getUserDetails(userId);
}
@Override
protected int getLayoutId() {
return R.layout.activity_user_homepage;
}
@Override
protected UserHomepagePresenter bindPresenter() {
return new UserHomepagePresenter(this, this);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getOnBackPressedDispatcher() != null) {
getOnBackPressedDispatcher().addCallback(this, new androidx.activity.OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
finish();
}
});
}
}
@Override
protected void initView() {
super.initView();
}
@Override
public void setUserDetails(UserInfo data) {
if (data.getUser_id()==SpUtil.getUserId()) {
SpUtil.saveUserInfo(data);
}
List<String> homeBgimages = new ArrayList<>();
if (!TextUtils.isEmpty(data.getHome_bgimages())){
homeBgimages = Arrays.asList(data.getHome_bgimages().split(","));
}else {
homeBgimages.add(data.getAvatar());
}
List<XBannerData> xBannerData1 = new ArrayList<>();
for (int i=0;i<homeBgimages.size();i++) {
xBannerData1.add(new XBannerData(0, homeBgimages.get(i), ""));
}
mBinding.xbanner.setBannerData(com.xscm.moduleutil.R.layout.me_xbanner, xBannerData1);
mBinding.xbanner.loadImage((banner, model, view, position) -> {
XBannerData xBannerData = (XBannerData) model;
ImageView ivStart = view.findViewById(com.xscm.moduleutil.R.id.iv_voice_start);
ImageView imageView = view.findViewById(R.id.iv_img);
if (xBannerData.getType() == 1) {
ivStart.setVisibility(View.VISIBLE);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
ImageLoader.loadImage(this, imageView, xBannerData.getVedioCover());
} else {
ivStart.setVisibility(View.GONE);
ImageUtils.loadHeadCC(xBannerData.getUrl(), imageView);
}
});
List<Fragment> fragments = new ArrayList<>();
fragments.add(UserHomepageFragment.newInstance(data,type));
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(fragments, getSupportFragmentManager()));
}
@Override
public void setCircleList(List<CircleListBean> list) {
}
@Override
public void userGuanzSuccess(String s) {
}
@Override
public void setLikeZone() {
}
@Override
protected void onDestroy() {
// 清理 ViewPager
if (mBinding.viewPager.getAdapter() != null) {
mBinding.viewPager.setAdapter(null);
}
// 清理 XBanner 资源
if (mBinding.xbanner != null) {
mBinding.xbanner.stopAutoPlay();
}
// 通知 Presenter 页面销毁
if (MvpPre != null) {
MvpPre= null;
}
super.onDestroy();
}
}