首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓将值从onPostExecute传递给activity

安卓将值从onPostExecute传递给activity
EN

Stack Overflow用户
提问于 2014-08-04 23:52:28
回答 1查看 87关注 0票数 0

我是Java和Android的新手,我正在为谷歌地图做一个android应用程序。

我想从onPostExecute中获取经度和纬度的值,然后从Asynctask外部获取activity。我尝试过do方法,结果一无所获。

代码:

代码语言:javascript
运行
复制
@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);

        }

映射活动:

代码语言:javascript
运行
复制
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());
    }
}

请帮我写代码。

EN

回答 1

Stack Overflow用户

发布于 2014-08-04 23:57:28

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25122702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档