Android передает переменную в другой файл Java - PullRequest
0 голосов
/ 21 марта 2011

как я могу передать latLongString в elhActivity и показать его на экране .... оба java-файла находятся в одном пакете com.elh.whereami;

это код whereami.java

package com.elh.whereami;
    import android.app.Activity;
    import android.content.Context;
    import android.location.Criteria;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.widget.TextView;

    public class whereami extends Activity {

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            LocationManager locationManager;
            String context = Context.LOCATION_SERVICE;
            locationManager = (LocationManager) getSystemService(context);

            Criteria criteria = new Criteria();
            criteria.setAccuracy(Criteria.ACCURACY_FINE);
            criteria.setAltitudeRequired(false);
            criteria.setBearingRequired(false);
            criteria.setCostAllowed(true);
            criteria.setPowerRequirement(Criteria.POWER_LOW);
            String provider = locationManager.getBestProvider(criteria, true);

            Location location = locationManager.getLastKnownLocation(provider);
            updateWithNewLocation(location);

            locationManager.requestLocationUpdates(provider, 2000, 10, locationListener);
        }

        private final LocationListener locationListener = new LocationListener() {
            public void onLocationChanged(Location location) {
                updateWithNewLocation(location);
            }

            public void onProviderDisabled(String provider) {
                updateWithNewLocation(null);
            }

            public void onProviderEnabled(String provider) {
            }

            public void onStatusChanged(String provider, int status, Bundle extras) {
            }
        };

        public void updateWithNewLocation(Location location) {
            String latLongString;
            if (location != null) {
                double lat = location.getLatitude();
                double lng = location.getLongitude();
                latLongString = "Lat:" + lat + "\nLong:" + lng;
  }
 }
}

и это файл elhActivity.java

package com.elh.whereami;
import android.app.Activity;
import android.widget.TextView;

public class elhActivity extends Activity {
    /** Called when the activity is first created. */
   public String Locationinfo = whereami.latLongString;

   @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        TextView tv = new TextView(this);
        tv.setText(Locationinfo);
        setContentView(tv);
 }
}

Ответы [ 3 ]

2 голосов
/ 21 марта 2011

Во-первых, вы должны начать elhActivity с первого класса:

Intent intent = new Intent(this, elhActivity.class);
intent.putExtra("the_latLongString", latLongString);
startActivity(intent);

Затем внутри elhActivity вы можете сделать что-то подобное в методе onCreate:

String latLon = getIntent().getStringExtra("the_latLongString");
TextView tv = new TextView(this);
tv.setText(latLon);
setContentView(tv);
0 голосов
/ 21 марта 2011

Используя методы putExtra и getExtars , вы можете передавать данные между двумя действиями. См. Этот пост для примера.

0 голосов
/ 21 марта 2011

Intent myintent=new Intent(Info.this, elhActivity.class).putExtra("latlon", value); startActivity(myintent);

Для получения данных
String s= getIntent().getStringExtra("latlong");</p> <p>

Может также представлять интерес класс комплектов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...