我有一个计划,在加载栏出现后显示成功对话框消息,那就是加载对话框,我将4s设置为dismiss,我可以在4s加载对话框后显示成功对话吗?
这是我的代码:
1.结账.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;importandroid.view.LayoutInflater;
类加载对话框{私人活动;private 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);