Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

Как передать список из активити?

есть Активити
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { private static final String TAG = "myLogs"; private GoogleMap mMap; List fullDrivers = new ArrayList();
//--------------------------------------------------------------------------------------------------
public List getFullDrivers() { return fullDrivers; }
public void setFullDrivers(List fullDrivers) { this.fullDrivers = fullDrivers; }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this);
//Запускаю поток для считывания данных из базы AllDriverParsing allDriverParsing = new AllDriverParsing(MapsActivity.this); allDriverParsing.execute();

}
@Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap;
// Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
}
Здесь происходит считывание данных .
public class AllDriverParsing extends AsyncTask { String url_getalldriver="******`введите сюда код`";
List fullDrivers = new ArrayList<>(); Context context; public AllDriverParsing(Context context) { this.context = context; }
@Override protected String doInBackground(String... params) { try { //-------------------------------------------------------------------------------------- //Соеденяемся с url URL url = new URL(url_getalldriver); HttpURLConnection connection= (HttpURLConnection) url.openConnection(); //-------------------------------------------------------------------------------------- //Открываем поток для чтения BufferedReader br=new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuffer response=new StringBuffer(); String line; while ((line = br.readLine())!=null){ response.append(line + "
"); } br.close(); connection.disconnect(); return response.toString(); //------------------------------------------------------------------------------------------- } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
return null; }
@Override protected void onPostExecute(String s) { super.onPostExecute(s); parse(s);

}
//-------------------------------------------------------------------------------------------------- //метод для парсинга данных private void parse(String all){ try { JSONArray jsonArray = new JSONArray(all); JSONObject jsonObject = null; fullDrivers.clear(); FullDriver fullDriver;
for (int i = 0;i int id=jsonObject.getInt("id"); String name=jsonObject.getString("name"); String number=jsonObject.getString("number"); String carnumber=jsonObject.getString("carnumber"); String latlng=jsonObject.getString("latlng"); String origin=jsonObject.getString("origin"); String destinitiom =jsonObject.getString("destinitiom");
fullDriver=new FullDriver();
fullDriver.setId(id); fullDriver.setName(name); fullDriver.setCarnumber(carnumber); fullDriver.setLatlng(latlng); fullDriver.setNumber(number); fullDriver.setOrigin(origin); fullDriver.setDestinition(destinitiom);
fullDrivers.add(fullDriver);
}
//Пытаюсь передать список в MapsActvitty* MapsActivity mapsActivity = new MapsActivity(); mapsActivity.setFullDrivers(fullDrivers);
} catch (JSONException e) { e.printStackTrace(); } }

}
2 Дня немогу это сделать !!!


Ответ

Надо MapsActivity передать в качестве параметра в конструктор вашего AsyncTask
public class AllDriverParsing extends AsyncTask { String url_getalldriver="******`введите сюда код`"; private MapsActivity mapsActivity; List fullDrivers = new ArrayList<>(); Context context; public AllDriverParsing(MapsActivity mapsActivity) { this.context=this.mapsActivity = mapsActivity; }
//blah-blah private void parse(String all){ //blah-blah mapsActivity.setFullDrivers(fullDrivers); } }

Комментариев нет:

Отправить комментарий