Android将onPostExecute的值传递给activity

时间:2014-08-04 15:52:28

标签: java android google-maps-api-2

我是Java& Android和我正在为谷歌地图做一个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());
    }
}

请帮我处理代码。

1 个答案:

答案 0 :(得分:1)

您可以使用嵌套类(将异步任务放入活动中并使用全局变量),也可以使用静态变量。

相关问题