Задать вопрос
@DJ_bot

Не загружает пост если не заполнить все поля?

Пост не загружается на Firebase пока не заполнить все поля (показывает бесконечный ProgressBar, если его убрать - не происходит ничего).

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_post);

    mStorage = FirebaseStorage.getInstance().getReference();
    mDatabase = FirebaseDatabase.getInstance().getReference().child("Blog");


    mSelectImage = (ImageButton) findViewById(R.id.imageSelect);

    mPostTitle =(EditText)findViewById(R.id.titleField);
    mPostDesc = (EditText)findViewById(R.id.descField);
    mSubmitBtn = (Button)findViewById(R.id.submitBtn);
    mProgress = new ProgressDialog(this);

    mSelectImage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT);
            galleryIntent.setType("image/*");
            startActivityForResult(galleryIntent,GALLERY_REQUEST);
        }
    });

    mSubmitBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            startposting();
        }
    });
}

private void startposting() {

    mProgress.setMessage("Uploading Post..");
    mProgress.show();

    final String title_val = mPostTitle.getText().toString().trim();
    final String desc_val = mPostDesc.getText().toString().trim();

    if(!TextUtils.isEmpty(title_val)&& !TextUtils.isEmpty(desc_val)&& mImageUri!=null){

        StorageReference filepath = mStorage.child("Blog_images").child(mImageUri.getLastPathSegment());

        filepath.putFile(mImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

                @SuppressWarnings("VisibleForTests") Uri downloadUri = taskSnapshot.getDownloadUrl();

                DatabaseReference newPost = mDatabase.push();
                newPost.child("title").setValue(title_val);
                newPost.child("desc").setValue(desc_val);
                newPost.child("image").setValue(downloadUri.toString());


                mProgress.dismiss();

                startActivity(new Intent(PostActivity.this, MainActivity.class));
            }
        }).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {

                @SuppressWarnings("VisibleForTests") double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();

                mProgress.setMessage("Uploading " + ((int) progress) + "%...");
                mProgress.show();
            }
        });
    }


}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if ( requestCode == GALLERY_REQUEST && resultCode == RESULT_OK ){
        mImageUri = data.getData();
        mSelectImage.setImageURI(mImageUri);
    }
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы