1

私はAndroidアプリを開発しています。クラスを拡張する別のクラスがThreadあります。ここでサービスを呼び出してデータをフェッチします。このスレッドがいつ完了するかを知る必要があり、完了するとToastが表示されます。「成功」のように

スレッドのようonPostExecute()な方法はありますか?AsyncTask

ありがとう

4

2 に答える 2

1

このようなスレッドを使用していることを願っています..

 .....
 new Thread(new Runnable() {
  public void run() {
    YourMetod();  //you want to execute first                              
    finishedHandler.sendEmptyMessage(0);//when first method is executed completly you need to call this
  }
 }).start();
 ....

このようにクラスにハンドラーを作成します

 private Handler finishedHandler = new Handler() {
    @Override public void handleMessage(Message msg) {
        //create your toast here
     }
 };

この希望の助けを試してください

于 2012-08-04T12:21:01.393 に答える
1

ビューはメインスレッドからのみアクセスする必要がありますが、トーストはすべてのスレッドから表示できるため、トーストの表示はViewsコンポーネントを変更することとは異なります。そのため、スレッドを表示する必要がある場合は、Toast.makeToast(...).show()どこにいても呼び出すだけです。

Handlerとにかく、クラスを使用して、バックグラウンド スレッドからメイン スレッドにメッセージを送信できます。

http://developer.android.com/reference/android/os/Handler.html

http://developer.android.com/guide/faq/commontasks.html#threading

于 2012-08-04T11:35:22.463 に答える