0

instanceiateItem()関数で新しいアクティビティを起動したいと思います。この関数について私が理解しているのは、この関数自体の下にTextViewを追加することが許可されているということです。関数の下に新しいアクティビティまたはインテントを作成することは可能ですか?コードは以下のとおりです。

@Override
public Object instantiateItem(View 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;

}
4

1 に答える 1

1

ページごとに異なるレイアウトが必要な場合は、次のように実行できます。instantiateItem

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;
    }
于 2012-07-03T07:22:57.243 に答える