package com.pandaq.pandaeye.modules.zhihu.home; import android.app.Activity; import android.app.ActivityOptions; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.view.PagerAdapter; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.pandaq.pandaeye.R; import com.pandaq.pandaeye.config.Constants; import com.pandaq.pandaeye.modules.zhihu.home.mvp.ZhiHuTopStory; import com.pandaq.pandaeye.modules.zhihu.zhihudetail.ZhihuStoryInfoActivity; import com.squareup.picasso.Picasso; import java.util.ArrayList; /** * Created by PandaQ on 2016/9/14. * email : 767807368@qq.com */ public class ZhihuTopPagerAdapter extends PagerAdapter { private ArrayList<ZhiHuTopStory> mTopStories; private Context mContext; private Activity mActivity; public ZhihuTopPagerAdapter(Fragment fragment, ArrayList<ZhiHuTopStory> topStories) { this.mTopStories = topStories; mActivity = fragment.getActivity(); mContext = fragment.getContext(); } @Override public int getCount() { return mTopStories != null ? mTopStories.size() : 0; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, final int position) { View view = LayoutInflater.from(container.getContext()).inflate(R.layout.zhihutop_item, container, false); final ImageView mTopStoryImg = (ImageView) view.findViewById(R.id.top_story_img); TextView mTopStoryTitle = (TextView) view.findViewById(R.id.top_story_title); mTopStoryTitle.setText(mTopStories.get(position).getTitle()); String image = mTopStories.get(position).getImage(); if (!TextUtils.isEmpty(image)) { Picasso.with(mContext) .load(image) .into(mTopStoryImg); } mTopStoryImg.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //跳转到其他界面 Bundle bundle = new Bundle(); Intent intent = new Intent(mContext, ZhihuStoryInfoActivity.class); bundle.putString(Constants.BUNDLE_KEY_TITLE, mTopStories.get(position).getTitle()); bundle.putInt(Constants.BUNDLE_KEY_ID, mTopStories.get(position).getId()); bundle.putBoolean(Constants.BUNDLE_KEY_TRANSLATION_EXPORD, false); intent.putExtras(bundle); mContext.startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(mActivity).toBundle()); } }); container.addView(view); return view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } public void resetData(ArrayList<ZhiHuTopStory> topStories) { mTopStories.clear(); mTopStories.addAll(topStories); notifyDataSetChanged(); } }