提问人:chris199 提问时间:4/9/2023 最后编辑:chris199 更新时间:4/9/2023 访问量:24
从 onpostExecute 获取字符串数组
get String Array from onpostExecute
问:
我首先想将数组 res 传递给另一个类。 为此,我创建了一个 get 方法。不幸的是,onPostExecute 之外的数组是空的,我收到一个错误。数据的调用也被延迟了,因为我认为它还没有加载数据,但也出现了错误。我还检查了类,看看数组是否已满,确实如此。如何从 onPostExecute 获取数据? 我已经看过其他问题,但不太了解它们的解决方案。也许这里有人可以帮助我。
public class FetchDataRoulette extends AsyncTask<Object,String,String> {
String googleNearByPlacesData;
String url;
String[] res;
@Override
protected void onPostExecute(String s) {
try{
JSONObject jsonObject=new JSONObject(s);
JSONArray jsonArray=jsonObject.getJSONArray("results");
res=new String[jsonArray.length()];
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonObject1=jsonArray.getJSONObject(i);
JSONObject getLocation=jsonObject1.getJSONObject("geometry").getJSONObject("location");
String lat=getLocation.getString("lat");
String lng=getLocation.getString("lng");
JSONObject getName=jsonArray.getJSONObject(i);
String name=getName.getString("name");
LatLng latLng=new LatLng(Double.parseDouble(lat), Double.parseDouble(lng));
res[i]=name;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
public String[] getRes(){
Log.d("Test",res[1]);
return res;
}
@Override
protected String doInBackground(Object... objects) {
try{
url=(String) objects[0];
DownloadUrl downloadUrl=new DownloadUrl();
googleNearByPlacesData= downloadUrl.retireveUrl(url);
} catch (IOException e) {
e.printStackTrace();
}
return googleNearByPlacesData;
}
}
我已经读取了数组并检查了它。也在不同的地方。我进行了延迟查询,以便写入值。
答: 暂无答案
评论