当我拍摄图像并将其设置为imageview然后重新启动我的应用时,imageview将设置为空白。问题是什么?
这是我的代码:
private void initialize() {
iv = (ImageView) findViewById(R.id.breturnpic);
ib = (ImageButton) findViewById(R.id.btakepic);
b = (Button) findViewById((R.id.bset));
b.setOnClickListener(this);
ib.setOnClickListener(this);}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bset: {
try {
getApplicationContext().setWallpaper(bmp);
} catch (IOException e) {
e.printStackTrace();
}
break;
}
case R.id.btakepic: {
i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, cameradata);
break;}}}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
bmp = (Bitmap) extras.get("data");
iv.setImageBitmap(bmp);}}
答案 0 :(得分:6)
如果您想使用之前应用会话中选择的图像,您应该以某种方式保留数据。如果只是一张图片,您可以将其保存在您的设备中,并在应用shared preferences中保留对图片URI的引用。
您还可以使用数据库以更加结构化的方式保存这些URI。