リソース値の配列内の位置によって識別される一連の画像を表示する ViewPager を作成しています。instantiateItem
アダプターのコードは次のとおりです。
//indexes the images
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0.getTag().equals(arg1);
}
//serves the views
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView view = new ImageView(container.getContext());
view.setScaleType(ScaleType.FIT_CENTER);
view.setTag(position);
view.setImageResource(mImages.get(position));
container.addView(view, position);
return view;
}
表示されません。見てみるcontainer.getChildAt(0)
と、レイアウト パラメータが に設定されていることを確認できますMATCH_PARENT
が、幅と高さは 0 です。コンテナ自体の幅と高さは、(予想どおり) 画面の寸法です。
コードを次のように変更します
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView view = (ImageView) View.inflate(container.getContext(), R.layout.imageview, null);
view.setScaleType(ScaleType.FIT_CENTER);
view.setTag(position);
view.setImageResource(mImages.get(position));
container.addView(view, position);
return view;
}
(どこに inR.layout.imageview
があるだけのレイアウトですImageView
)は機能しませんでした。背景色を任意の表示可能な値に設定すると、ビューが本質的に表示されないことが示されます。どうしたの?