首页 > 解决方案 > 如何在另一个弹出/对话框出现后显示弹出/对话框

问题描述

我计划在加载栏出现后显示成功对话框消息,那是加载对话框我设置 4s 为关闭,我可以在 4s 加载对话框后显示成功对话框吗?

这是我的代码:

1.Checkout.java

package com.example.uts;

import android.app.Dialog;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class checkout extends AppCompatActivity {
    TextView total,kembalian;
    EditText tunai;
    Button proses,acc;
    Dialog dialog;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.checkout);
    total = findViewById(R.id.total_checkout);
    kembalian = findViewById(R.id.kembalian);
    tunai = findViewById(R.id.tunai);
    proses=findViewById(R.id.btnProses);
    acc=findViewById(R.id.btnAcc);

    final LoadingDialog loadingDialog=new LoadingDialog(checkout.this);
    total.setText("Rp."+getIntent().getStringExtra("totalid"));

//its working for loading dialog,i need to show success dialog,4000 = 4s
    proses.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            loadingDialog.startLoadingDialog();
            Handler handler=new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    loadingDialog.dismiss();
                }
            },4000);
        }
    });
}

}

  1. LoadingDialog.java(也有成功对话框)

    包 com.example.uts;

    导入android.app.Activity;导入 android.app.AlertDialog;导入 android.view.LayoutInflater;

    类LoadingDialog { 私人活动活动;私人 AlertDialog 对话框,accDialog;

     LoadingDialog(Activity myActivity){
         activity=myActivity;
     }
    
     void startLoadingDialog(){
         AlertDialog.Builder builder = new AlertDialog.Builder(activity);
         LayoutInflater inflater = activity.getLayoutInflater();
         builder.setView(inflater.inflate(R.layout.loading,null));
         builder.setCancelable(false);
         dialog = builder.create();;
         dialog.show();
     }
     void dismiss(){
         dialog.dismiss();
     }
    
     void startAcc(){
         AlertDialog.Builder acc=new AlertDialog.Builder(activity);
         LayoutInflater AccLay=activity.getLayoutInflater();
         acc.setView(AccLay.inflate(R.layout.acc,null));
         acc.setCancelable(false);
         accDialog = acc.create();
         accDialog.show();
     }
    

    }

标签: android

解决方案


请尝试以下方法

Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    loadingDialog.dismiss();
                    checkout.this.runOnUiThread(new Runnable{
                         //show the success dialog                                         })

                }
            },4000);

推荐阅读