我正在尝试使用HttpManager从网址
中检索字符串public String request(Context context, String url){
page_requested = "empty";
HttpQuery query = new HttpQuery(context, mHttpClient);
query.execute(url);
return page_requested;
}
并在MainActivity中使用它
public void onClick(View v) {
Toast.makeText(MainActivity.this, HttpManager.getInstance().request(MainActivity.this, "http://myurl"), Toast.LENGTH_SHORT).show();
}
但是public String request
不等待执行查询并返回“空”但是如果我等待10秒来显示吐司,它会返回正确的值。
显示预期值的最佳方式是什么?
答案 0 :(得分:0)
使用AsyncTask显示文本。我认为这将是一种有效的方式..您可以在加载操作时显示您的进度条。
public class DisplayString extends AsyncTask<Void, Void, Void>
{
@Override
protected void onPreExecute()
{
super.onPreExecute();
dialog.setMessage("Please wait...");
dialog.setCancelable(false);
dialog.show();
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
// Things to be done while execution of long running operation is in progress. For example updating ProgessDialog
}
@Override
protected void onPostExecute(Void result)
{
//Post Execute
dialog.cancel();
//Display your string here
}
@Override
protected Void doInBackground(Void... params) {
// Your operation..Dont Edit Any Views here
return null;
}
}
希望有所帮助