An application I am currently developing is communicating with the server and the communication process runs in its own thread. There are asynchronous calls - for example lo
updateGUIState() needs to be run on the UI thread. A possible solution is to implement your GUI update in a Runnable, and call the runOnUiThread method with your runnable.
Try Handler.
Is onLoginResponse() is a callback function?
If it is, the problem can be solved by Handler.
In onLoginResponse(),
hRefresh.sendEmptyMessage(REFRESH);
Handler hRefresh = new Handler(){
@Override
public void handleMessage(Message msg) {
switch(msg.what){
case REFRESH:
/*Refresh UI*/
updateGUIState();
break;
}
}
};
To add to bhatt4982's response, you can also call handler.post(onLoginThread), where onLoginThread is a Thread whose runnable will run inside the GUI thread.