我在一个android手机游戏中,使用了三个SurfaceView,但是只有一个Activity,其中在一个SurfaceView中要使用Toast来显示一些提示的信息。我的Toast使用如下。
Toast toast = new Toast(context);
toast.setView(ImageView);
toast.setGravity(Gravity.CENTER,0,0);
toast.setDuration(Toast.LENGTH_SHORT);
然后有一个判断语句,当满足条件的时候->toast.show();注:我在游戏中多处使用了toast,但是有两处即使是满足了条件,也不能显示toast.
求解?

解决方案 »

  1.   

    不能显示,说明你的SurfaceView有问题
      

  2.   


    可是在SurfaceView中还有其他的toast,他们就能正常显示
      

  3.   

    你的这个Toast.setView(ImageView)有错,Toast.setView()中应该放一个View.你先这样做,创建一个view,然后再里面添加ImageView,再把view添加到Toast中试试!
      

  4.   

    Toast显示图片吗?Toast toast = new Toast(this); 
    ImageView view = new ImageView(this); 
    view.setImageResource(R.drawable.icon);
    toast.setView(view); 
    toast.show();感觉是你的imageview问题 也不大好确定
    http://www.cnblogs.com/threecc/archive/2011/05/03/2035342.html
    这里比较全
      

  5.   

    toast.setView(ImageView); XX
      

  6.   

    Imageview iv = new ImageView(this);
    iv.setImageResource(R.drawable.icon);
    Toast toast = Toast.makeText(this, "aaaa", Toast.LENGTH_SHORT);
    toast.setView(iv);
    toast.setGravity(Gravity.CENTER,0,0);
    toast.show();
    可以正常显示出来。但是如果你的imageview是从布局中findviewbyid的方式获取的就会出现错误java.lang.IllegalArgumentException: View not attached to window manager
      

  7.   

    看log信息,如果不报错,那就是条件不满足,报错了那就是toast建的有问题。
      

  8.   

    先不添加view,只让它显示文字,试试能不能出来提示
    toast.maketext()
      

  9.   

    我在程序中有两个地方都是用了上面的方法来显示一个Toast,但是有一个可以显示,有一个不能显示。
      

  10.   

    你用findviewbyid的时候那个inflater有问题