お世話になります。
カスタムビュー"BackView"をメインレイアウトに張り付け、idを振り、このクラスのonDraw内でdrawbitmapを行ったのですが、タイトルのエラーがcatchされました。
カスタムビューのコードは、下記の通りです。
java
1 2 3import android.content.Context; 4import android.content.res.Resources; 5import android.graphics.Bitmap; 6import android.graphics.BitmapFactory; 7import android.graphics.Canvas; 8import android.graphics.Paint; 9import android.graphics.Picture; 10import android.util.AttributeSet; 11import android.util.Log; 12import android.view.View; 13 14import java.io.InputStream; 15 16public class BackView extends View { 17 private FullscreenActivity activity; 18 private Paint paint=new Paint(); 19 20 public void getAct(FullscreenActivity act){activity=act;} 21 22 public BackView(Context context) { 23 super(context); 24 } 25 26 public BackView(Context context, AttributeSet attrs) { 27 super(context, attrs); 28 } 29 30 public BackView(Context context, AttributeSet attrs, int defStyleAttr) { 31 super(context, attrs, defStyleAttr); 32 } 33 34 @Override 35 protected void onDraw(Canvas canvas) { 36 try { 37 38 Bitmap image; 39 Resources r = activity.getResources(); 40 image = BitmapFactory.decodeResource(r, R.drawable.a1071208); 41 42 43 canvas.drawBitmap(image,0,0,paint); 44 }catch (Exception e) 45 { 46 Log.d("error backView",e.getMessage());//ここで表題のエラー 47 } 48 } 49}
表示したいビットマップは、drawableフォルダに格納されています。
どうすれば、ビットマップを描画できますか?
追記
詳しく調べると
BitmapFactory.decodeResource(r, R.drawable.a1071208);
がnullを返していました。なぜnullを返すかが分かりません。
rもactivityも非nullでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。