Android 将相机拍摄的照片作为背景添加到我的相对布局中

Android 将相机拍摄的照片作为背景添加到我的相对布局中,android,android-relativelayout,Android,Android Relativelayout,我有两项活动;一个用于拍照,另一个用于显示,并在相对布局中放置标记。我将从第一个活动拍摄的照片通过一个意图发送到第二个活动,并将其解码为位图,如下所示,但我一直收到NullPointerException任何帮助?: Edit1:当我使用png资源并将其添加到XML布局中时,一切似乎都正常 Bitmap b = BitmapFactory.decodeByteArray(getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getB

我有两项活动;一个用于拍照,另一个用于显示,并在相对布局中放置标记。我将从第一个活动拍摄的照片通过一个意图发送到第二个活动,并将其解码为位图,如下所示,但我一直收到NullPointerException任何帮助?: Edit1:当我使用png资源并将其添加到XML布局中时,一切似乎都正常

Bitmap b = BitmapFactory.decodeByteArray(getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getByteArrayExtra("byteArray").length);

Resources res = getResources();

Drawable bd =  new BitmapDrawable(res,b);

RelativeLayout rl = (RelativeLayout) findViewById(R.id.touchanddrag);
rl.setBackground(bd)
setContentView(R.layout.touchanddrag);
由于布局尚未初始化,并且您正在尝试访问其组件(您的RelativeLayout),因此您在此处获得空指针,
rl.setBackground(bd)


所以移动这个
setContentView(R.layout.touchanddrag)并检查它的运行情况。

结果是,在我的长代码下面有第二个setContentView,这是我的问题……感谢帮助,希望这能帮助其他人。

你能发布日志吗?谢谢提示,现在我没有收到任何错误,但背景是白色的!有什么帮助吗?试试setbackgroupddrawable(),不过两者没有太大区别(试一次)。在传递intent extra的地方发布代码。我已经测试了这个和同样的东西,'Bitmap bm=BitmapFactory.decodeByteArray(data,0,data.length,opts);ByteArrayOutputStream bs=新建ByteArrayOutputStream();bm.compress(Bitmap.CompressFormat.PNG,100,bs);'然后是'intent.putExtra(“byteArray”,bs.toByteArray());'startActivity(意向);}:(你能发布拍摄照片的活动的全部代码吗。
setContentView(R.layout.touchanddrag); should be right after onCreate() statement.