我正在使用 ViewPagerExtensions .我想在 Pager Adapter 类的每个选项卡中启动一个新 Activity 。
现在这是默认代码:
@Override
public Object instantiateItem(ViewGroup container, int position) {
RelativeLayout v = new RelativeLayout(mContext);
TextView t = new TextView(mContext);
t.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
t.setText(mData[position]);
t.setTextSize(30);
t.setGravity(Gravity.CENTER);
v.addView(t);
((ViewPager) container).addView(v, 0);
return v;
}
我想像为 android 选项卡那样做一些事情:
@Override
public Object instantiateItem(View container, int position) {
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, NewActivity.class);
}
这会引发错误:The method setClass(Context, Class<?>) in the type Intent is not applicable for the arguments (PagerAdapter, Class<NewActivity>)
.
最佳答案
恐怕你做不到。
如果您希望每个页面都有不同的布局:
View parent_view = null;
if (position == 0) {
parent_view = getViewForPageOne();
} else if (position == 1) {
parent_view = getViewForPageTwo();
.........
((ViewPager) collection).addView(parent_view, 0);
return parent_view;
}
和
private View getViewForPageOne(){
View v = getLayoutInflater().inflate(R.layout.layout_page_one, null);
TextView whatText =(TextView) v.findViewById(R.id.idOfTextView);
whatText.setText("Page One");
....
....
return v;
}
我认为您不能使用 ViewPagerExtensions 在每个选项卡中显示新 Activity
更新
如果你想开始新的 Activity 。您可以使用 ActionBarSherlock
关于java - 在 PagerAdapter 中开始新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11486430/