

以下のようにfor文で`ViewFlipper`にviewを追加した後に、ある特定のページの`ImageView`を  
変更したいと考えてます。

例えば25ページ分のviewを持つ`ViewFlipper`があって、2ページ目の`ImageView`を変更したいとします。

ググったところ`getChildAt`に1と指定することで、2ページ目のviewが取得できそうですが、そのviewに対して`ImageView`の画像の更新を行う方法が分かりません。

教えていただけないでしょうか？

[code]

    private ViewFlipper viewflipper;
    private View fl;
    
    
        for (int i=0; i < itemList.size(); i++){
           LayoutInflater inflater = getLayoutInflater();
        　　LinearLayout oViewFliperChildLayout = (LinearLayout)inflater.inflate(R.layout.imageview,null);
           TextView textView = (TextView)oViewFliperChildLayout.findViewById(R.id.image_Text);
           ImageView imageView = (ImageView)oViewFliperChildLayout.findViewById(R.id.image_View);
           String s = getResources().getString(itemList.get(i));
           textView.setText(s);
    
        myImage = BitmapFactory.decodeResource(resM, itemList.get(i));
                    imageView.setImageBitmap(myImage);
         viewflipper.addView(oViewFliperChildLayout);
         }
    
            viewflipper.post(new Runnable() {
                @Override
                public void run() {
    
                    fl = viewflipper.getChildAt(1);
    
                }
            });
    
[/code]


CC BY-SA 3.0
2015-11-23T05:24:22.837
19189
2015-11-23T08:57:34.900
2015-11-23T08:57:34.900
5337
5818
question
android
作成済のviewflipperのイメージを変更したい。


解決しましたので、自己レスです。  
postではなく以下のようにすることで作成済のviewflipperを差し替えできました。

[code]

    private ViewFlipper viewflipper;
    private View fl;
    
    
        for (int i=0; i < itemList.size(); i++){
           LayoutInflater inflater = getLayoutInflater();
        　　LinearLayout oViewFliperChildLayout = (LinearLayout)inflater.inflate(R.layout.imageview,null);
           TextView textView = (TextView)oViewFliperChildLayout.findViewById(R.id.image_Text);
           ImageView imageView = (ImageView)oViewFliperChildLayout.findViewById(R.id.image_View);
           String s = getResources().getString(itemList.get(i));
           textView.setText(s);
    
        myImage = BitmapFactory.decodeResource(resM, itemList.get(i));
                    imageView.setImageBitmap(myImage);
         viewflipper.addView(oViewFliperChildLayout);
         }
    
        LinearLayout v = (LinearLayout)viewflipper.getChildAt(3);
        TextView tv = (TextView)v.getChildAt(0);
        ImageView im = (ImageView)v.getChildAt(1);
        String s = getResources().getString(itemList.get(1));
        tv.setText(s);
    
        myImage = BitmapFactory.decodeResource(resM, itemList.get(1));
        im.setImageDrawable(null);
        im.setImageBitmap(null);
        im.setImageBitmap(myImage);
    
        viewflipper.removeViewAt(3);
        viewflipper.addView(v, 3);
    
[/code]


CC BY-SA 3.0
2015-11-23T08:38:42.483
19198
2015-11-23T08:38:42.483
5818
19189
answer