174 lines
5.2 KiB
Java
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();
|
|
}
|
|
|
|
} |