我在我的应用中使用套接字。我创建了一个类SocketClient
,其中包含以下方法:onConnect
,onSendData
,onReadData
。方法onReadData
扩展AsyncTask
。它等待来自doInBackground
内的服务器的字符串消息,然后创建一个新任务来侦听传入消息。现在我想在加载消息时暂停我的MainActivity类中的UI并获取它,但不知道如何做到这一点。我的异步任务看起来像:
public void ReadMyData() {
mt = new ReadDataAsync();
mt.execute();
}
class ReadDataAsync extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
// a lot of work
return message;
}
@Override
protected void onPostExecute(String result) {
ReadMyData();
}
}
和MainActivity:
public SocketClient mySocketClient = new SocketClient();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mySocketClient.onConnect();
//there I need wait message load and take it
setContentView(R.layout.activity_game);
WorkWithMessage(message);}
答案 0 :(得分:0)
创建进度DIALOG并在知道正在加载消息时启动它,而不是在加载消息时将其取消。
您可以像这样创建进度对话:
ProgressDialog pd = New ProgressDialog();
pd.setTitle(”title”);
pd.setMessage(”messgae”);
pd.setCancleable(false);
比打电话
pd.show();
当您要加载消息时,
pd.dismiss();
当你完成。