Здесь вы - рабочий стек:
Некоторые предыдущие примечания:
1) Запустить sudo Xvfb: 10 -ac & amp;
2) Запустить экспорт DISPLAY =: 10
3) Запустить java -jar "YOUR_PATH_TO / selenium-server-standalone-2.53.1.jar" -Dwebdriver.chrome.driver = "YOUR_PATH_TO / chromedriver.2.27 "-Dwebdriver.chrome.whitelistedIps =" localhost "
Вы можете создать progress dialog
, чтобы показать пользователю, что вы извлекаете данные
//initialize the progress dialog and show it
progressDialog = new ProgressDialog(getActivity());
progressDialog.setMessage("Getting data..");
progressDialog.show();
Это будет до отправки request
Затем в onResponse
после настройки текст в textView вы называете это
progressDialog.dismiss();
Вы также должны закрыть диалоговое окно прогресса в onErrorResponse
РЕДАКТИРОВАТЬ:
Если вы должны дождитесь значения возвращаемого значения JSON
, поскольку в дальнейшем при установке этого значения вы можете установить флаг boolean
, это
private boolean mHasReceivedData = false;
. Затем в методе onCreate
вы измените его следующим образом: this
protected void onCreate(Bundle savedInstanceState) {
//There are more codes,
getJsonRequest();
if(mHasReceivedData){
//here you use the returned data.
}}
И в успешном запросе вы добавляете эту строку
mHasReceivedData = true;
Таким образом вы гарантируете, что значение возвращаемого значения JSON
устанавливается перед его использованием, поэтому не будет пустого textView.