73 lines
2.4 KiB
Java
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]);
|
|
}
|
|
|
|
|
|
|
|
|
|
} |