簡體   English   中英

Android將值從onPostExecute傳遞給活動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM