1

ドローアブル フォルダーに複数の画像がありますが、以前の ListView アクティビティでクリックされた項目に基づいて特定の画像のみを読み込みたいです。そのため、画像をxmlファイルにハードコーディングするのではなく、画像を遅延ロードする方法を学ぼうとしています。私は初心者で、ios 開発のバックグラウンドから来た android を自分自身に教えようとしています。助けてくれてありがとう。
プライベート クラス MyPagerAdapter は PagerAdapter を拡張します {

    public int getCount(){
        return 3;
    }

    public Object instantiateItem(View collection, int position){
        LayoutInflater inflater = (LayoutInflater)collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        ImageView iv1 = (ImageView) findViewById(R.id.imageView1);
        ImageView iv2 = (ImageView) findViewById(R.id.imageView2);
        ImageView iv3 = (ImageView) findViewById(R.id.imageView3);

        int resId = 0;
        switch(position){
        case 0:
            iv1.setImageResource(R.drawable.amersenna);
            resId = R.layout.left;
            break;
        case 1:
            iv2.setImageResource(R.drawable.amersenna);
            resId = R.layout.middle;
            break;
        case 2:
            iv3.setImageResource(R.drawable.amersenna);
            resId = R.layout.right;
            break;
        }

        View view = inflater.inflate(resId, null);

        ((ViewPager) collection).addView(view, 0);

        return view;
    }

    @Override
    public void destroyItem(View agr0, int agr1, Object agr2) {
        ((ViewPager) agr0).removeView((View)agr2);
    }

    @Override
    public boolean isViewFromObject(View agr0, Object agr1){
        return agr0 == ((View)agr1);
    }

    @Override 
    public Parcelable saveState(){
        return null;
    }
}
4

1 に答える 1

0

クラスsetTag(Object)getTag()メソッドを使用できます。View各ImageViewにArrayListオブジェクトを追加します。したがって、特定のImageViewをクリックすると、「getTag()」を使用してアタッチされたArrayListオブジェクトをフェッチできます。このようにして、特定のリストアイテムがクリックされたときに、必要に応じてさまざまな画像を読み込むことができます。

于 2012-06-15T10:02:59.797 に答える