Initial commit
This commit is contained in:
60
sources/com/ubt/jimu/main/adapter/MainAdapter.java
Normal file
60
sources/com/ubt/jimu/main/adapter/MainAdapter.java
Normal file
@@ -0,0 +1,60 @@
|
||||
package com.ubt.jimu.main.adapter;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentPagerAdapter;
|
||||
import com.ubt.jimu.main.fragment.CommunityFragment;
|
||||
import com.ubt.jimu.main.fragment.DiyFragment;
|
||||
import com.ubt.jimu.main.fragment.HomeFragment;
|
||||
import com.ubt.jimu.main.fragment.TrainingFragment;
|
||||
import java.lang.ref.Reference;
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
/* loaded from: classes2.dex */
|
||||
public class MainAdapter<T extends Fragment> extends FragmentPagerAdapter {
|
||||
private Reference<T>[] a;
|
||||
private int[] b;
|
||||
|
||||
public MainAdapter(FragmentManager fragmentManager, int[] iArr) {
|
||||
super(fragmentManager);
|
||||
this.a = null;
|
||||
this.b = null;
|
||||
this.b = iArr;
|
||||
this.a = new WeakReference[iArr == null ? 0 : iArr.length];
|
||||
}
|
||||
|
||||
private T a(int i) {
|
||||
if (i == 1) {
|
||||
return HomeFragment.b();
|
||||
}
|
||||
if (i == 2) {
|
||||
return TrainingFragment.q();
|
||||
}
|
||||
if (i == 3) {
|
||||
return CommunityFragment.o();
|
||||
}
|
||||
if (i == 4) {
|
||||
return DiyFragment.o();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // androidx.viewpager.widget.PagerAdapter
|
||||
public int getCount() {
|
||||
int[] iArr = this.b;
|
||||
if (iArr == null) {
|
||||
return 0;
|
||||
}
|
||||
return iArr.length;
|
||||
}
|
||||
|
||||
@Override // androidx.fragment.app.FragmentPagerAdapter
|
||||
public Fragment getItem(int i) {
|
||||
int i2 = this.b[i];
|
||||
Reference<T>[] referenceArr = this.a;
|
||||
if (referenceArr[i] == null || referenceArr[i].get() == null) {
|
||||
this.a[i] = new WeakReference(a(i2));
|
||||
}
|
||||
return this.a[i].get();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user