Ответ 1
Android обеспечивает сопоставление значений String различным типам Parcelable с помощью Bundle.
Для деятельности: -
Intent in = new Intent(Sender.this, Receiver.class);
in.putString(key, value)
startActivity(in);
Для Fragment используйте Bundle: -
Fragment fragment = new Fragment();
Bundle bundle = new Bundle();
bundle.putInt(key, value);
fragment.setArguments(bundle);
Изменить для вашего сценария: Я думаю, что лучшим вариантом является создание ApplicationPool.
Выполните следующие шаги: Инициализировать ApplicationPool: -
ApplicationPool pool = ApplicationPool.getInstance();
изменить данные на странице сведений и добавить в пул
pool.put("key", object);
получить измененные данные на странице списка из пула
Object object = (Object) pool.get("key");
важные примечания: - уведомлять о просмотре списка или gridview после получения данных
Файл класса ApplicationPool
public class ApplicationPool {
private static ApplicationPool instance;
private HashMap<String, Object> pool;
private ApplicationPool() {
pool = new HashMap<String, Object>();
}
public static ApplicationPool getInstance() {
if (instance == null) {
instance = new ApplicationPool();
}
return instance;
}
public void clearCollectionPool() {
pool.clear();
}
public void put(String key, Object value) {
pool.put(key, value);
}
public Object get(String key) {
return pool.get(key);
}
public void removeObject(String key) {
if ((pool.get(key)) != null)
pool.remove(key);
}
}