从PagerAdapter开始新的活动

问题描述 投票:2回答:2

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

public class ViewPagerAdapter extends PagerAdapter

这就是我尝试在ViewPagerAdapter的OnClickListener方法中启动新活动的方法

@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);

        }
    }); 
android android-viewpager fragmentpageradapter android-pageradapter
2个回答
3
投票

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

Intent readMore = new Intent(v.getContext(), ReadMoreActivity.class);
v.getContext().startActivity(readMore);

0
投票
public class ViewPagerAdapter extends PagerAdapter{
Context _context;
public ViewPagerAdapter (Context context){
_context = context;
}
}

其余的代码都在你的问题中,甚至其他答案都可以工作:),

© www.soinside.com 2019 - 2024. All rights reserved.