AlertDialog 不显示文本
AlertDialog does not show text
我正在使用带有 switch case 的 alertDialog
,我希望文本根据 case 值而改变。
这是我试过的代码:
private void transacechouée(int i) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity())
.setTitle("Information")
.setPositiveButton("Exit", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
new Thread(new Runnable() {
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void run() {
Intent intent = new Intent(getActivity(), CashActivity1.class);
startActivity(intent);
}
}).start();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
ReadCardFragment.alertDialogBuilder=alertDialogBuilder;
}
});
switch (i){
case 1 :
alertDialogBuilder.setMessage("Transaction non aboutie");
break;
case 2:
alertDialogBuilder.setMessage("Connexion impossible");
break;
case 3:
alertDialogBuilder.setMessage("Problème de récéption");
break;
case 4:
alertDialogBuilder.setMessage("Erreur de traitement");
break;
case 5:
alertDialogBuilder.setMessage("Erreur de transmission");
break;
case 6:
alertDialogBuilder.setMessage("Timout");
break;
case 7:
alertDialogBuilder.setMessage("Transaction invalide");
break;
case 90:
alertDialogBuilder.setMessage("Piste non valide");
break;
case 91:
alertDialogBuilder.setMessage("Transaction non valide");
break;
}
}
我希望 alertDialog
根据情况设置消息,但它不显示任何文本。
您需要在实际显示对话框之前调用 setMessage
。请记住,AlertDialog.Builder
只是使用您提供的所有详细信息构建 AlertDialog
。在创建 AlertDialog
之后调用 AlertDialog.Builder
的方法为时已晚。
将您得到的整个 switch/case
结构向上移动到 AlertDialog alertDialog = alertDialogBuilder.create();
.
行之前
我正在使用带有 switch case 的 alertDialog
,我希望文本根据 case 值而改变。
这是我试过的代码:
private void transacechouée(int i) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity())
.setTitle("Information")
.setPositiveButton("Exit", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
new Thread(new Runnable() {
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void run() {
Intent intent = new Intent(getActivity(), CashActivity1.class);
startActivity(intent);
}
}).start();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
ReadCardFragment.alertDialogBuilder=alertDialogBuilder;
}
});
switch (i){
case 1 :
alertDialogBuilder.setMessage("Transaction non aboutie");
break;
case 2:
alertDialogBuilder.setMessage("Connexion impossible");
break;
case 3:
alertDialogBuilder.setMessage("Problème de récéption");
break;
case 4:
alertDialogBuilder.setMessage("Erreur de traitement");
break;
case 5:
alertDialogBuilder.setMessage("Erreur de transmission");
break;
case 6:
alertDialogBuilder.setMessage("Timout");
break;
case 7:
alertDialogBuilder.setMessage("Transaction invalide");
break;
case 90:
alertDialogBuilder.setMessage("Piste non valide");
break;
case 91:
alertDialogBuilder.setMessage("Transaction non valide");
break;
}
}
我希望 alertDialog
根据情况设置消息,但它不显示任何文本。
您需要在实际显示对话框之前调用 setMessage
。请记住,AlertDialog.Builder
只是使用您提供的所有详细信息构建 AlertDialog
。在创建 AlertDialog
之后调用 AlertDialog.Builder
的方法为时已晚。
将您得到的整个 switch/case
结构向上移动到 AlertDialog alertDialog = alertDialogBuilder.create();
.