में गतिविधियों के बीच तारों को पास करना मैंने कुछ जगहों की खोज की है लेकिन मुझे अभी तक काम करने वाले किसी भी अच्छे समाधान के साथ नहीं मिला है, और मुझे वास्तव में मदद की ज़रूरत है! मैं एक ऐसा एप्लिकेशन बना रहा हूं जिसे एक गतिविधि से दूसरे गतिविधि में अक्षांश और अक्षांश स्ट्रिंग को पारित करने की आवश्यकता हो। मैं यह कैसे कर सकता हूं ??? यहां मेरे कोड पर एक नज़र डालें: LocationActivity.java को दूसरी गतिविधि में स्ट्रिंग को पास करने की आवश्यकता है और दूसरे में जिसे मैंने यहां पेस्ट नहीं किया है। और स्ट्रिंग की जरूरत है कि पारित होने के लिए नामित किया गया है: "latLongString"एंड्रॉइड
LocationActivity.java:
import android.R.string;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class LocationActivity extends Activity {
private String Location;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LocationManager locManager;
locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000L,500.0f, locationListener);
Location location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
updateWithNewLocation(location);
if(location != null)
{
double latitude = location.getLatitude();
double longitude = location.getLongitude();
}
}
private void updateWithNewLocation(Location location) {
TextView myLocationText = (TextView)findViewById(R.id.LocationWord);
String latLongString = "";
if (location != null) {
double lat = location.getLatitude();
double lng = location.getLongitude();
latLongString = "Lat:" + lat + "\nLong:" + lng;
//This is where i need to pass the string to the other activity
} else {
latLongString = "No location found";
}
myLocationText.setText("Your Current Position is:\n" +
latLongString);
}
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) {
}
};
}
अन्य गतिविधि:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;
import java.util.Locale;
import android.R.string;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.location.Address;
import android.location.Criteria;
import android.location.Geocoder;
import android.location.Location;
import android.os.Bundle;
import android.os.Environment;
import android.telephony.gsm.SmsMessage;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.location.LocationManager;
import android.location.LocationListener;
public class FindAndroidActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
Button Nextbutton1, Nextbutton2, Nextbutton3, TestLocationService, EditSettings;
TextView Cordinates, Adress, FindAndroid, TextView;
EditText LocationWord;
private LocationManager locManager;
private LocationListener locListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.firsttimescreen);
Nextbutton1 = (Button)findViewById(R.id.Nextbutton1);
Nextbutton1.setOnClickListener(this);
}
public void onClick(View src) {
switch(src.getId()) {
case R.id.Nextbutton1:
setContentView(R.layout.setup);
Nextbutton2 = (Button)findViewById(R.id.Nextbutton2);
TestLocationService = (Button)findViewById(R.id.TestLocationService);
TestLocationService.setOnClickListener(this);
Nextbutton2.setOnClickListener(this);
break;
case R.id.Nextbutton2:
setContentView(R.layout.setup1);
Nextbutton3 = (Button)findViewById(R.id.Nextbutton3);
LocationWord = (EditText)findViewById(R.id.LocationWord);
LocationWord.requestFocus(View.FOCUS_DOWN);
Nextbutton3.setOnClickListener(this);
break;
case R.id.Nextbutton3:
setContentView(R.layout.main);
EditSettings = (Button)findViewById(R.id.EditSettings);
EditSettings.setOnClickListener(this);
break;
case R.id.TestLocationService:
Bundle extras = getIntent().getExtras();
if(extras !=null) {
String value = extras.getString("KEY");
}
Cordinates = (TextView)findViewById(R.id.Cordinates);
Cordinates.setText(value);
//This does not work because the string "value" isn't availible outside the braces,
//obviously. How do i make it availible there???
break;
case R.id.EditSettings:
setContentView(R.layout.setup1);
Nextbutton3 = (Button)findViewById(R.id.Nextbutton3);
LocationWord = (EditText)findViewById(R.id.LocationWord);
LocationWord.requestFocus(View.FOCUS_DOWN);
Nextbutton3.setOnClickListener(this);
break;
}
}
} परिदृश्यों की
आप आशय स्तरीय यहाँ उत्तर से putExtra() और getExtras() (या GetString) कार्यों का उपयोग करना चाहिए: [PutExtra/GetExtra] [1] [1]: http: // stackoverflow। कॉम/प्रश्न/5265 9 13/कैसे-टू-यूज-टूटेक्स्ट्रा-एंड-गेटक्स्ट्रा-फॉर स्ट्रिंग-डेटा –