Java 用ProgressDialog打断我的脖子并解决方法问题

Java 用ProgressDialog打断我的脖子并解决方法问题,java,android,android-studio,Java,Android,Android Studio,我制作了一个配方应用程序,我一直在修复一些问题,因为我无法运行该应用程序,但似乎每次修复一个错误,另一个错误出现时,我的项目都无法解决方法dismise()我不知道该怎么办,我根据Youtube频道制作了该应用程序,但它给我带来了很多问题,我不知道我是否遗漏了一些代码或是其他什么,我还注意到我的Dialog.java中有许多无法解决的问题,例如setDefaultIcon、WindowDecorActionBar、@unsupportDappusage、isDestroyed、setShowHi

我制作了一个配方应用程序,我一直在修复一些问题,因为我无法运行该应用程序,但似乎每次修复一个错误,另一个错误出现时,我的项目都无法解决方法dismise()我不知道该怎么办,我根据Youtube频道制作了该应用程序,但它给我带来了很多问题,我不知道我是否遗漏了一些代码或是其他什么,我还注意到我的Dialog.java中有许多无法解决的问题,例如setDefaultIcon、WindowDecorActionBar、@unsupportDappusage、isDestroyed、setShowHideAnimationEnabled、IdRes等等,我甚至不知道这些都是从哪里来的我在这里有点迷路了

这是我的上传食谱活动:

package com.example.recipeapp;

import android.app.ProgressDialog;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;

import java.text.DateFormat;
import java.util.Calendar;

public class Upload_Recipe extends AppCompatActivity {

    ImageView recipeImage;
    Uri uri;
    EditText txt_name, txt_description, txt_price;
    String imageUrl;
    Object progressDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_upload__recipe);

        recipeImage = (ImageView) findViewById(R.id.iv_foodImage);
        txt_name = (EditText) findViewById(R.id.txt_recipe_name);
        txt_description = (EditText) findViewById(R.id.text_description);
        txt_price = (EditText) findViewById(R.id.text_price);


    }

    public void btnSelectImage(View view) {

        Intent photoPicker = new Intent(Intent.ACTION_PICK);
        photoPicker.setType("image/*");
        startActivityForResult(photoPicker, 1);

    }

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

        if (resultCode == RESULT_OK) {

            uri = data.getData();
            recipeImage.setImageURI(uri);

        } else Toast.makeText(this, "Você não selecionou uma imagem", Toast.LENGTH_SHORT).show();
    }

    public void uploadImage() {

        StorageReference storageReference = FirebaseStorage.getInstance()
                .getReference()
                .child("RecipeImage")
                .child(uri.getLastPathSegment());

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

                Task<Uri> uriTask = taskSnapshot.getStorage().getDownloadUrl();
                while (!uriTask.isComplete()) ;
                Uri urlImage = uriTask.getResult();
                if (urlImage != null) {
                    imageUrl = urlImage.toString();
                }
                uploadRecipe();
                progressDialog.dismiss();
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                progressDialog.dismiss();
            }
        });
    }

    public void btnUploadRecipe(View view) {

        uploadImage();

    }

    public void uploadRecipe() {

        final ProgressDialog progressDialog = new ProgressDialog(this);
        progressDialog.setMessage("Enviando Receita...");
        progressDialog.show();
        progressDialog.dismiss();
        finish();

        FoodData foodData = new FoodData(txt_name.getText().toString()
                , txt_description.getText().toString(), txt_price.getText().toString()
                , imageUrl);

        String myCurrentDateTime = DateFormat.getDateTimeInstance()
                .format(Calendar.getInstance().getTime());

        FirebaseDatabase.getInstance()
                .getReference("Recipe")
                .child(myCurrentDateTime).setValue(foodData).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {

                if (task.isSuccessful()) {

                    Toast.makeText(Upload_Recipe.this, "Receita Enviada", Toast.LENGTH_SHORT).show();
                    finish();

                }

            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Toast.makeText(Upload_Recipe.this, "Falha ao Enviar", Toast.LENGTH_SHORT).show();
                progressDialog.dismiss();
            }
        });
    }

    private void ProgressDialog(Object progressDialog) {
        this.progressDialog = progressDialog;
        ProgressDialog(progressDialog);
    }
}
package com.example.recipeapp;
导入android.app.ProgressDialog;
导入android.content.Intent;
导入android.net.Uri;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.EditText;
导入android.widget.ImageView;
导入android.widget.Toast;
导入androidx.annotation.NonNull;
导入androidx.annotation.Nullable;
导入androidx.appcompat.app.appcompat活动;
导入com.google.android.gms.tasks.OnCompleteListener;
导入com.google.android.gms.tasks.OnFailureListener;
导入com.google.android.gms.tasks.OnSuccessListener;
导入com.google.android.gms.tasks.Task;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.storage.firebase存储;
导入com.google.firebase.storage.StorageReference;
导入com.google.firebase.storage.UploadTask;
导入java.text.DateFormat;
导入java.util.Calendar;
公共类上载\u活动{
图像视图;
Uri;
EditText txt_名称、txt_说明、txt_价格;
字符串imageUrl;
对象进程对话框;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u upload\u配方);
recipeImage=(ImageView)findViewById(R.id.iv_foodImage);
txt_name=(EditText)findViewById(R.id.txt_recipe_name);
txt_description=(EditText)findViewById(R.id.text_description);
txt_price=(EditText)findViewById(R.id.text_price);
}
公共无效BTN选择图像(视图){
意向照片采集器=新意向(意向.行动\u采集器);
photoPicker.setType(“image/*”);
startActivityForResult(光采集器,1);
}
@凌驾
受保护的void onActivityResult(int-requestCode、int-resultCode、@Nullable-Intent-data){
super.onActivityResult(请求代码、结果代码、数据);
if(resultCode==RESULT\u OK){
uri=data.getData();
recipeImage.setImageURI(uri);
}else Toast.makeText(这是“Vocènão selecionou uma imagem”,Toast.LENGTH_SHORT.show();
}
public void uploadImage(){
StorageReference-StorageReference=FirebaseStorage.getInstance()
.getReference()
.child(“RecipeImage”)
.child(uri.getLastPathSegment());
storageReference.putFile(uri).addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
Task uriTask=taskSnapshot.getStorage().getDownloadUrl();
而(!uriTask.isComplete());
Uri urlImage=uriTask.getResult();
如果(urlImage!=null){
imageUrl=urlImage.toString();
}
上传配方();
progressDialog.disclose();
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
progressDialog.disclose();
}
});
}
公共无效btnUploadRecipe(视图){
上传图像();
}
public void uploadRecipe(){
final ProgressDialog ProgressDialog=新建ProgressDialog(此);
设置消息(“Enviando Receita…”);
progressDialog.show();
progressDialog.disclose();
完成();
FoodData FoodData=newfooddata(txt_name.getText().toString())
,txt_description.getText().toString(),txt_price.getText().toString()
,imageUrl);
字符串myCurrentDateTime=DateFormat.getDateTimeInstance()
.format(Calendar.getInstance().getTime());
FirebaseDatabase.getInstance()
.getReference(“配方”)
.child(myCurrentDateTime).setValue(foodData).addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Toast.makeText(上传“Receita Enviada”,Toast.LENGTH\u SHORT.show();
完成();
}
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(上传食谱,这个“Falha ao Enviar”,Toast.LENGTH.show();
progressDialog.disclose();
}
});
}
private void ProgressDialog(对象ProgressDialog){
this.progressDialog=progressDialog;
ProgressDialog(ProgressDialog);
}
}

您可以编写
progressDialog.dismise()
uploadRecipe();            
progressDialog.dismiss(); //Remove this line

谢谢,现在我的应用程序终于像它应该欢呼的那样运行了。