AlertDialog不显示文字

时间:2018-12-28 09:04:49

标签: java display

我将alertDialog与大小写一起使用,我希望根据大小写值更改文本。

这是我尝试的代码:

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根据情况来设置消息,但不会显示任何文本。

1 个答案:

答案 0 :(得分:0)

您需要调用setMessage才能实际显示对话框。请记住,AlertDialog.Builder只是使用您提供的所有详细信息来构建AlertDialog。在创建AlertDialog.Builder之后调用AlertDialog的方法为时已晚。

将整个switch/case结构向上移动到AlertDialog alertDialog = alertDialogBuilder.create();行之前。