通过工作线程使用处理程序?

时间:2011-10-18 16:44:22

标签: android multithreading handler toast

我从android开发开始,我遇到了使用处理程序的问题。 我有:

  • 活动
  • 一个班级(在那个班级我有一个帖子)

我想从线程中显示一个toast,但如果不使用处理程序,这是不可能的。我做了很多研究,但我真的不能理解处理程序的概念。

这是我的代码:

活动:

public class ActiviteDessin extends Activity {

/* Classe d'échanges */
Serveur serveur;



/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    view = new MySurface(this);

    setContentView(view);
    this.serveur = new Serveur(this, this.view);

}

@Override
protected void onStart() {

    super.onStart();
}

}

Serveur.java:

public class Serveur {

Context context;
MySurface viewServeur;




public Serveur(Context pContext, MySurface pView) {

    this.context = pContext;
    this.viewServeur = pView;

    /* On initialise et lance le thread socket de connexion */
    this.lanceSocketConnexion();
}


/** Méthode permettant de lancer le socket de connexion */
public void lanceSocketConnexion() {
    /* On initialise et lance le thread socket de connexion */
    this.socketServeur = new SocketServeur();
    this.socketServeur.start();
}


/** Classe socket du serveur */
public class SocketServeur extends Thread {

    @Override public void run() {

        // I WANT TRIGGER MY TOAST HERE
    }

}
    }

所以,我想在我的线程中触发我的Toast,它本身就在我的班级“Serveur”中,我不知道如何使用处理程序执行此操作,但我阅读了很多教程......

事实上,我不明白我必须在哪里声明我的处理程序(在我的Activity或Serveur.class中)等...

除了给我一个答案(我希望:p),有人可以一步一步向我解释它是如何工作的吗?

如果我提出一个对你来说显而易见的问题,请提前感谢,对不起。

PS:对不起我的英文:/

1 个答案:

答案 0 :(得分:0)

请点击此处:Android: Toast in a thread。它有一个如何运作的例子!

希望这有帮助!