爲了避免泄漏處理程序創建自定義類,擴展Handler類如下:
// Handler of incoming messages from clients.
private static class IncomingHandler extends Handler {
private WeakReference<YourActivity> yourActivityWeakReference;
public IncomingHandler(YourActivity yourActivity) {
yourActivityWeakReference = new WeakReference<>(yourActivity);
}
@Override
public void handleMessage(Message message) {
if (yourActivityWeakReference != null) {
YourActivity yourActivity = yourActivityWeakReference.get();
Edited : new ProgressTask().execute();
// switch (message.what) {
// }
}
}
}
創建這個類的對象,無論你想使用如下。
private IncomingHandler mPulseHandler;
mPulseHandler = new IncomingHandler(HomeActivity.this);
mPulseHandler.sendEmptyMessage(0);
編輯:
IncomingHandler progresshandler = new IncomingHandler(YourActivity.this);
if (editMessage.getText().toString().length() > 0) {
SendMessagesThread thread = new SendMessagesThread(progresshandler);
thread.start();
// progressDialog.show();
}
編輯:
聲明這個任務在你的活動:
私人ProgressTask progressTask;
在的onCreate()
progressTask =新ProgressTask創建它的實例();在IncomingHandler
更改行:
yourActivity.progressTask.execute();
由於
如果(editMessage.getText()的toString()長度()> 0。) { SendMessagesThread螺紋=新SendMessagesThread(progresshandler); thread.start(); // progressDialog.show(); } – Jocheved
其實從這裏我打電話進步處理器 – Jocheved
所以u能請幫助我如何需要修改代碼 – Jocheved