Я извлекаю ответ JSON из Google Адресов, и я хочу отобразить его в другой Acivity в ListView. То, что я пытаюсь сделать, - передать объект из одной активности в другую, но, похоже, не работает.Pass JSON Объект от одного действия до другого Android
Это часть моей деятельности, которую я пытаюсь передать JSON от:
public class GetNearbyPlacesList extends AsyncTask<Object, String, String> {
String googlePlacesData;
String url;
List<HashMap<String, String>> nearbyPlacesList = null;
private Intent context;
private SharedPreferences.Editor intent;
@Override
protected String doInBackground(Object... params) {
try {
Log.d("GetNearbyPlacesData", "doInBackground entered");
url = (String) params[0];
DownloadUrl downloadUrl = new DownloadUrl();
googlePlacesData = downloadUrl.readUrl(url);
Log.d("GooglePlaceData", googlePlacesData);
Log.d("GooglePlacesReadTask", "doInBackground Exit");
} catch (Exception e) {
Log.d("GooglePlacesReadTask", e.toString());
}
return googlePlacesData;
}
protected void onPostExecute(String result) {
Log.d("GooglePlacesReadTask", "onPostExecute Entered");
ListParser listParser = new ListParser();
nearbyPlacesList = listParser.parse(result);
Log.d("List of restaurants", nearbyPlacesList.toString());
Log.d("GooglePlacesReadTask", "onPostExecute Exit");
Intent intent = new Intent(GetNearbyPlacesList.this,ListRestActivity.class);
intent.putExtra("deal", nearbyPlacesList.toString());
startActivity(intent);
}
Это класс я хочу передать JSON в:
public class ListRestActivity extends Activity implements
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener,
LocationListener {
ListView lv;
double latitude;
double longitude;
private int PROXIMITY_RADIUS = 10000;
GoogleApiClient mGoogleApiClient;
Location mLastLocation;
Marker mCurrLocationMarker;
LocationRequest mLocationRequest;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listrest);
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
checkLocationPermission();
}
//Check if Google Play Services Available or not
if (!CheckGooglePlayServices()) {
Log.d("onCreate", "Finishing test case since Google Play Services are not available");
finish();
}
else {
Log.d("onCreate","Google Play Services available.");
}
String Restaurant = "restaurant";
String url = getUrl(latitude, longitude, Restaurant);
Object[] DataTransfer = new Object[1];
DataTransfer[0] = url;
GetNearbyPlacesList getNearbyPlacesList = new GetNearbyPlacesList();
getNearbyPlacesList.execute(DataTransfer);
}
У меня есть предупреждение в onPostExecute, который говорит: Не удается разрешить конструктор Намерение – didi
Убедитесь, что переменная контекста вам Переход в конструктор Intent на самом деле является контекстом. Я не вижу объявления вашего первого действия, но, скорее всего, вам нужно изменить «context» на «FirstActivity.this», если вы объявляете это намерение во внутреннем классе. –
Также найден опечатка в фрагменте кода моего ответа. Соответственно обновлено. –