如何显示在Android中立即覆盖旧Toast的新Toast

and*_*ner 2 android dialog toast

我在android中以对话框的形式显示了一个值数组,点击任何项目,显示特定的吐司.现在,如果我在下一刻点击此列表(阵列)上的其他项目,则在短时间(大约5秒)之后显示该特定的吐司,直到显示旧的吐司.如果我想在选择/点击列表中的其他项目后立即显示新的Toast,我该怎么办

那么有人可以告诉我实现这一目标的逻辑是什么?

例如,考虑这个代码 -

     String NumberOfItems[] = { "1", "2", "3" };
     Activity mActivity;
     int id =0;
     AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
     builder.setIcon(R.drawable.ic_launcher);
     builder.setTitle(R.string.dialog_heading);
     builder.setSingleChoiceItems(NumberOfItems, id, new DialogInterface.OnClickListener() 
      {
        public void onClick(DialogInterface dialog, int id)
         {

       switch(id)
         {
         case 0:
              Toast.makeText(mActivity.getBaseContext(),"Item selected is 1",Toast.LENGTH_SHORT).show();
                   break;
         case 1:
              Toast.makeText(mActivity.getBaseContext(),"Item selected is 2",Toast.LENGTH_SHORT).show();
                   break;
         case 2:
              Toast.makeText(mActivity.getBaseContext(),"Item selected is 3",Toast.LENGTH_SHORT).show();
                   break;

                } 

          }
        });  
            AlertDialog alertDialog =  builder.create();
            alertDialog.show(); 
Run Code Online (Sandbox Code Playgroud)

现在显示包含3个项目的对话框,点击第1项显示"项目选择为1"很快我点击下一个项目但在~5秒后显示"项目选择为2" .但如果我想立即显示第二项,我该怎么办?

简而言之,刷新Toast的逻辑是什么?

任何帮助是极大的赞赏.

Sha*_*tan 10

您可以在活动中初始化单个Toast.然后在每次单击时更改其文本.

Toast mToast = Toast.makeText( this  , "" , Toast.LENGTH_SHORT );

 switch(id)
     {
     case 0:
           mToast.setText( "Item selected is 1" );
           mToast.show();

               break;
     case 1:
          mToast.setText( "Item selected is 2" );
          mToast.show();
               break;
     case 2:
          mToast.setText( "Item selected is 3" );
          mToast.show();
               break;
            } 
      }
    });  
Run Code Online (Sandbox Code Playgroud)

我认为这对你有用.

更多信息