从 PagerAdapter 开始新的 Activity

Start new Activity from PagerAdapter

如何使用来自 PagerAdapter class 的 Intent 启动一个新的 Activity? 这就是我的 ViewPagerAdapter class 的样子。

public class ViewPagerAdapter extends PagerAdapter

这就是我尝试在 ViewPagerAdapter

的 OnClickListner 方法中开始新 activity 的方式
@Override
        public void onClick(View v) {
           // Page is clicked
           NewsItem item = ViewPagerAdapter.this.newsItems.get(position);
           Log.w("TAP ON NEWS ITEM ", item.getTitle());

           // start ImageViewer Activity
            Intent readMore = new Intent(getActivity(), ReadMoreActivity.class);

            startActivity(readMore);

        }
    }); 

getActivity()startActivity 方法在 PagerAdapter 中不可用。所以使用 v.getContext() 准备 Intent 并调用 startActivity 方法:

Intent readMore = new Intent(v.getContext(), ReadMoreActivity.class);
v.getContext().startActivity(readMore);
public class ViewPagerAdapter extends PagerAdapter{
Context _context;
public ViewPagerAdapter (Context context){
_context = context;
}
}

你的其余代码在你的问题中,甚至其他答案也有效:),