[英]Android pass value from onPostExecute to activity
我是Java和Android的新手,並且正在為Google地圖開發一個Android應用。
我想從onPostExecute
到外部Asynctask
活動獲取緯度和經度的值。 我試過做方法,結果一無所獲。
碼:
@Override
public void onPostExecute(String result) {
super.onPostExecute(result);
List m = new ArrayList<String>();
Log.w("res", result.toString());
StringBuilder sb = new StringBuilder(result);
StringBuilder sb2 = sb.deleteCharAt(sb.indexOf("}"));
System.out.println("after delete }" + sb2.toString());
StringBuilder sb3 = sb2.deleteCharAt(sb2.indexOf("{"));
System.out.println("after delete {" + sb3.toString());
String[] lol = sb3.toString().split(",");
for (int i = 0; i < lol.length; i++) {
System.out.println("lol ??" + lol[i]);
System.out.println("size of lol" + lol.length);
String lol2[] = lol[i].split(":");
System.out.println("size of lol2" + lol2.length);
m.add(lol2[1]);
}
System.out.println("lol2 ??" + m.get(0) + "lon" + m.get(1));
StringBuilder lat_sb = new StringBuilder(m.get(0).toString());
StringBuilder latsbb = lat_sb
.deleteCharAt(lat_sb.indexOf("\""));
StringBuilder lats = latsbb.deleteCharAt(latsbb.indexOf("\""));
System.out.println("lats " + lats);
StringBuilder lon_sb = new StringBuilder(m.get(1).toString());
StringBuilder lonsbb = lon_sb
.deleteCharAt(lon_sb.indexOf("\""));
StringBuilder lons = lonsbb.deleteCharAt(lonsbb.indexOf("\""));
System.out.println("lons " + lons);
double lat = Double.parseDouble(lats.toString().trim());
System.out.println("lat " + lat);
double lon = Double.parseDouble(lons.toString().trim());
System.out.println("lon " + lon);
}
地圖活動:
public class Maps extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapview);
GoogleMap map =
((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapview))
.getMap();
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
map.setMyLocationEnabled(true);
map.addMarker(new MarkerOptions().position(new LatLng(???,???)).title("Marker"));
GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
}
}
請幫助我的代碼。
您可以使用嵌套類(將異步任務放入活動中並使用全局變量),也可以使用靜態變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.