我需要一个应该具有UI工作流程的应用程序,其中用户应该能够浏览应用程序的特定部分,该部分可以是ListView或GridView,并且他可以点击某个项目以显示该细节特别项目。现在,如果用户向右滑动“ie ViewPager“View寻呼机应更改片段以显示上一个列表中的下一个或上一个项目,具体取决于用户滑动的方向,当用户按下详细的项目视图时,应关闭现有的ViewPager以及之前的ListView或应显示GridView,并且应将View的位置设置为用户在ViewPager中查看的项目。
为了保持简单和高效,两个视图,即ListView和方法应该读取和写入相同的数据结构,它们应该同步,以便当在一个屏幕上启动加载更多数据时,同时如果用户选择一个特定项目,下一个视图应该在上一个屏幕加载完成后自动更新数据。
一样
编辑:我不想维护数据库,只需要访问数据,直到我的应用程序处于活动状态。
答案 0 :(得分:0)
Android使用Bundle提供从String值到各种Parcelable类型的映射。
对于活动: -
Intent in = new Intent(Sender.this, Receiver.class);
in.putString(key, value)
startActivity(in);
For 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);
}
}