我不知道爲什麼,但是我拍攝的圖像不會顯示在我的圖像視圖上。如果我嘗試顯示已經在我的應用中的圖像(例如,在mipmap文件夾中),它將顯示該圖像,但它不會顯示我拍攝的圖像。我的代碼有問題嗎?爲什麼我的照片不會顯示在我的圖像視圖上
private File imageFile;
private static final int PHOTO_TAKEN = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_photo_taker);
addSnapButtonListener();
}
private void addSnapButtonListener(){
Button snapBtn = (Button) findViewById(R.id.camera_button);
snapBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
File picturesDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
imageFile = new File(picturesDirectory, "passpoints_image");
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imageFile));
startActivityForResult(i, PHOTO_TAKEN);
}
});
}
protected void onActivityResult(int reqC, int resC, Intent data) {
if(reqC == PHOTO_TAKEN){
// Bitmap photo = BitmapFactory.decodeFile(imageFile.getAbsolutePath());
Bitmap photo = (Bitmap) data.getExtras().get(imageFile.getAbsolutePath());
// Bitmap photo = (Bitmap) data.getExtras().get("data");
if(photo != null){
ImageView imageView = (ImageView)findViewById(R.id.taken_image);
imageView.setImageBitmap(photo);
} else {
Toast.makeText(this, R.string.unable_to_set_photo_file, Toast.LENGTH_LONG).show();
}
}
}
我嘗試了幾個不同的方法來讓我的拍攝的圖像(因爲你可以用註釋掉的代碼中看到的),但每當我拍照,我看它的ImageView尚屬空白。
當我嘗試從圖庫中顯示圖像時,也會發生這種情況。我的手機有問題嗎?
編輯:此外,圖像路徑確實得到註冊,因爲我可以檢索它並將其顯示在吐司或日誌中,所以我不認爲這是問題的一部分。
您是否確認在您的活動中一切正常?嘗試添加日誌。如果你的Bitmap被返回爲null,那麼當你設置它時,它不會在視圖中顯示任何東西。但要消除這種可能性,請使用其他設備。 – JoxTraex