我的博客應用程序應該在圖片下方上傳圖片及其說明。我正在使用畢加索裁剪工具裁剪圖像。即使未點擊確定按鈕,圖片也會上傳
問題:我點擊圖片按鈕上傳圖片,然後從圖庫中選擇圖片,選擇並剪裁圖片後,我改變主意並決定不上傳圖片,只需按下後退按鈕。圖像按鈕中也沒有顯示任何內容。我只需輸入描述併發布博客即可。當博客頁面打開時,即使在按下後退按鈕而沒有將圖像上載到圖像按鈕的情況下,也可以看到圖像與描述一起上載,而我只想顯示描述。這是爲什麼發生?我是否必須編寫一些特殊的條件代碼以避免此類錯誤? 任何幫助表示讚賞。謝謝
注意:它只發生在我調整圖像大小並按下後退按鈕而沒有上傳它。如果我沒有做任何調整大小,並選擇圖像後單擊後退按鈕問題不會出現。
代碼:
private ImageButton selectimage;
selectimage= (ImageButton) findViewById(R.id.imageSelect);
selectimage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent galleryIntent=new Intent(Intent.ACTION_GET_CONTENT);
galleryIntent.setType("image/*");
startActivityForResult(galleryIntent,GALLERY_REQUEST);
}
});
public void startposting(){
StorageReference filepath=mstorage.child("Place_Image").child(imageUri.getLastPathSegment());
filepath.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
@SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl();
DatabaseReference newPost = mDatabase.push();
newPost.child("description").setValue(desc);
newPost.child("image").setValue(downloadUrl.toString());
}});
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==GALLERY_REQUEST && resultCode==RESULT_OK){
imageUri=data.getData();
CropImage.activity(imageUri)
.setGuidelines(CropImageView.Guidelines.ON).setAspectRatio(3,2)
.start(this);
}
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if (resultCode == RESULT_OK) {
Uri resultUri = result.getUri();
imageUri=resultUri;
selectimage.setImageURI(resultUri);
} else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
Exception error = result.getError();
}
}
}
粘貼代碼,以便其他有助於幫你解決這個問題 –