0

View[] regionView; を作成しました。変数で、この regionView 配列に ImageView を追加しようとしていますが、null ポインター例外が発生します。このビューにイメージビューを追加する方法を教えてください

ViewInfo.class

public class ViewInfo {
    View[] regionView;
}

毎回、この regionView 配列に imageview 値を追加したいので、以下のコードを適用しました。

main.class

if(RegionOptions.type.compareTo(Image)==0){



            String is = null;
            is = Environment.getExternalStorageDirectory()+"/xibo/"+RegionOptions.uri;

            Bitmap image = BitmapFactory.decodeFile(is);

            img = new ImageView(mcontext);
            RelativeLayout.LayoutParams vp = 
                    new RelativeLayout.LayoutParams((width*RegionOptions.width)/lay_width, 
                            (height*RegionOptions.height)/lay_height);

            vp.setMargins((width*RegionOptions.left)/lay_width,(height*RegionOptions.top)/lay_height, 0, 0);
            img.setLayoutParams(vp);        
            img.setImageBitmap(image);
         //adding image_values in array
try{
            ViewInfo.regionView[a] =img;
}catch(Exception e){
e.printStackTrace();
}

//          if(regionInfo.Region_views[a]!=null){   
//              layout.removeView(img);
//          }

            layout.addView(img);

        }

上記のコードでは、この配列でイメージビューを実行しようとしていますが、null ポインター例外が発生しています:

エラー行:

ViewInfo.regionView[a] =img;
4

1 に答える 1

1

img オブジェクトに問題があるとは思いませんが、ViewInfo.regionView が初期化されていない可能性があるため、null ポインター例外が表示されます。このビュー配列をある程度のサイズで初期化してください。すなわち

View[] regionView = new View[some size];

于 2013-05-03T10:59:14.060 に答える