吐司不在听众中工作

时间:2011-09-28 12:22:25

标签: android smack toast

我想打开一个Toast,但它似乎不能在一个侦听器(Smack)中工作,就像这个例子:

private ChatManagerListener chatManagerListener = new ChatManagerListener() {

    public void chatCreated(Chat newChat, boolean createdLocally) {
        if(!createdLocally) {

            Toast.makeText(mCtx, "CHAT CREATED", Toast.LENGTH_SHORT).show();

            // do some stuff

        }
    }
}; 

如果我在类中的其他地方使用Toast-code,只要它不是监听器,它就可以工作。

3 个答案:

答案 0 :(得分:8)

runOnUiThread(new Runnable() {  
   @Override  
   public void run() {  
      Toast.makeText(Activity.this, "import finished", Toast.LENGTH_SHORT).show();  
   }  
});

答案 1 :(得分:1)

确保您分配了适当的上下文。您的mCtx应该是父类的上下文。尝试像这样分配:ParentClassName.this

答案 2 :(得分:0)

你确定它进入if条件吗? 如果是这样,那么我认为你没有得到那里的背景。