| | |
| | | import android.support.annotation.Nullable; |
| | | import android.support.v4.app.Fragment; |
| | | import android.support.v4.app.FragmentManager; |
| | | import android.support.v4.app.FragmentPagerAdapter; |
| | | import android.support.v4.app.FragmentStatePagerAdapter; |
| | | import android.support.v4.view.ViewPager; |
| | | import android.util.Log; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.FrameLayout; |
| | | |
| | | import com.google.gson.FieldNamingPolicy; |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.GsonBuilder; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.lcjian.library.RetainViewFragment; |
| | | import com.lcjian.library.util.cache.DiskLruCache; |
| | | import com.lcjian.library.util.common.StorageUtils; |
| | | import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; |
| | | import com.viewpagerindicator.MTabPageIndicator; |
| | | import com.viewpagerindicator.IconPagerAdapter; |
| | | import com.viewpagerindicator.MainTabPageIndicator; |
| | | import com.weikou.beibeivideo.BasicTextHttpResponseHandler; |
| | | import com.weikou.beibeivideo.BeibeiVideoAPI; |
| | | import com.weikou.beibeivideo.R; |
| | | import com.weikou.beibeivideo.entity.VideoType; |
| | | import com.weikou.beibeivideo.entity.recommend.HomeClass; |
| | | import com.weikou.beibeivideo.ui.MyRetainViewFragment; |
| | | import com.weikou.beibeivideo.ui.dialog.UserProtocolDialog; |
| | | import com.weikou.beibeivideo.ui.recommend.NovelJNZFragment; |
| | | import com.weikou.beibeivideo.ui.recommend.RecommendFragment; |
| | | import com.weikou.beibeivideo.util.BeibeiConstant; |
| | | import com.weikou.beibeivideo.util.UserUtil; |
| | | import com.weikou.beibeivideo.R; |
| | | |
| | | import org.apache.http.Header; |
| | | import org.json.JSONObject; |
| | |
| | | */ |
| | | |
| | | public class HomeFragment extends MyRetainViewFragment { |
| | | |
| | | private final String TAG = HomeFragment.class.getName(); |
| | | /* |
| | | * viewpager定义 |
| | | */ |
| | |
| | | getCategories(); |
| | | } |
| | | |
| | | List<VideoType> categories = new ArrayList<>(); |
| | | List<HomeClass> categories = new ArrayList<>(); |
| | | |
| | | |
| | | int count = 1; |
| | |
| | | .create(); |
| | | categories.clear(); |
| | | |
| | | List<VideoType> list = gson.fromJson( |
| | | List<HomeClass> list = gson.fromJson( |
| | | jsonObject.getJSONObject("Data") |
| | | .getJSONArray("data").toString(), |
| | | new TypeToken<List<VideoType>>() { |
| | | new TypeToken<List<HomeClass>>() { |
| | | }.getType()); |
| | | |
| | | categories.addAll(list); |
| | |
| | | }); |
| | | } |
| | | |
| | | class HomePageAdapter extends FragmentStatePagerAdapter { |
| | | class HomePageAdapter extends FragmentStatePagerAdapter implements IconPagerAdapter { |
| | | private FragmentManager fm; |
| | | |
| | | private List<VideoType> mlist; |
| | | private List<HomeClass> mlist; |
| | | |
| | | private Map<Integer, Fragment> fragments = new HashMap<>(); |
| | | private Map<String, Fragment> fragments = new HashMap<>(); |
| | | |
| | | public HomePageAdapter(FragmentManager fm, List<VideoType> list) { |
| | | public HomePageAdapter(FragmentManager fm, List<HomeClass> list) { |
| | | super(fm); |
| | | this.fm = fm; |
| | | this.mlist = list; |
| | |
| | | |
| | | @Override |
| | | public Fragment getItem(int position) { |
| | | Fragment fragment = RecommendFragment.newInstance(mlist.get(position), position + ""); |
| | | return fragment; |
| | | if ("novel".equalsIgnoreCase(mlist.get(position).getDataType())) { |
| | | return NovelJNZFragment.newInstance(); |
| | | } else { |
| | | Fragment fragment = RecommendFragment.newInstance(mlist.get(position), position + ""); |
| | | return fragment; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public int getIconResId(int index) { |
| | | if ("novel".equalsIgnoreCase(mlist.get(index).getDataType())) |
| | | return R.drawable.ic_tab_xiaoshuo; |
| | | else |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Nullable |
| | | @Override |
| | | public CharSequence getPageTitle(int position) { |
| | | return mlist.get(position).getName(); |
| | | if ("novel".equalsIgnoreCase(mlist.get(position).getDataType())) |
| | | return ""; |
| | | else |
| | | return mlist.get(position).getName(); |
| | | } |
| | | } |
| | | } |