Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/adapter/SectionsGifPagerAdapter.java
2025-11-12 16:55:26 +08:00

73 lines
2.4 KiB
Java

package com.xscm.modulemain.adapter;
import android.content.Context;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import com.xscm.modulemain.activity.user.fragment.PlaceholderGiftFragment;
import com.xscm.moduleutil.bean.GiftUserWallBean;
import java.io.Serializable;
/**
* A [FragmentPagerAdapter] that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
public class SectionsGifPagerAdapter extends FragmentStateAdapter {
@StringRes
private static final int[] TAB_TITLES = new int[]{com.xscm.moduleutil.R.string.tab_text_1, com.xscm.moduleutil.R.string.tab_text_2};
private final Context mContext;
private GiftUserWallBean giftData; // 添加数据字段
// public SectionsPagerAdapter(Context context, FragmentManager fm, GiftUserWallBean giftData) {
// super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
// this.mContext = context;
// this.giftData = giftData;
// }
public SectionsGifPagerAdapter(@NonNull FragmentActivity fragmentActivity, GiftUserWallBean giftData) {
super(fragmentActivity);
this.mContext = fragmentActivity;
this.giftData = giftData;
}
@NonNull
@Override
public Fragment createFragment(int position) {
// 创建 Fragment 实例并传递参数
PlaceholderGiftFragment fragment = PlaceholderGiftFragment.newInstance(position + 1);
Bundle args = new Bundle();
// 根据位置传递不同的数据
if (giftData != null) {
if (position == 0) {
// 传递 liang 数据
args.putSerializable("gift_list", (Serializable) giftData.getLiang());
} else if (position == 1) {
// 传递 no_liang 数据
args.putSerializable("gift_list", (Serializable) giftData.getNo_liang());
}
}
args.putInt("section_number", position+1);
fragment.setArguments(args);
return fragment;
}
@Override
public int getItemCount() {
return 2; // 假设 GiftUserWallBean 包含 list 数据结构
}
public CharSequence getPageTitle(int position) {
return mContext.getResources().getString(TAB_TITLES[position]);
}
}