android - 如何在另一个弹出/对话框出现后显示弹出/对话框
问题描述
我计划在加载栏出现后显示成功对话框消息,那是加载对话框我设置 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);
}
});
}
}
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(); }
}
解决方案
请尝试以下方法
Handler().postDelayed(new Runnable() {
@Override
public void run() {
loadingDialog.dismiss();
checkout.this.runOnUiThread(new Runnable{
//show the success dialog })
}
},4000);
推荐阅读
- python - Python - 准备向频道发送消息的不和谐机器人
- bitbucket-pipelines - Bitbucket 管道未显示环境变量的内容
- python - 获取时间序列数据的主导频率
- oop - 工厂方法模式与继承
- php - 无法使用 php 将 SQL 数据迭代到 html 表“td”而不会变得一团糟
- cuda - 需要帮助使用嵌套迭代器 transform_reduce 操作优化推力 cuda 代码
- postgresql - 通过 Unix 套接字将 DBeaver 连接到远程 PostgreSQL DB
- c++ - 如何将字符串添加到杜鹃过滤器?
- python - Azure Blobstore:如何在无需先下载整个文件的情况下读取文件?
- google-cloud-platform - 由于 CPU 使用率高,Cloud Run 503 错误