1

我是 android 新手,正在开发类似邮件的应用程序。在应用程序中,从来自服务器的 JSON 字符串创建列表(在嵌入在滚动视图中的表格视图中创建行)。现在我试图在单击一个项目时详细显示一个项目。

单击时,获取相应项目的 id 并使用以下页面加载新页面。我的代码看起来像

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
Bundle b = new Bundle();
b.putInt("id", 124); 
b.putInt("message", "Message");
intent.putExtras(b); 
startActivity(intent);
finish();

但我的问题是列表页面在从该页面返回时被清除。

即,单击子页面中的删除按钮,我也想删除列表页面中的相同项目。但是在我从子页面中删除该项目后,使用此代码重定向到父页面。

Intent intent = new Intent(SecondActivity.this, FirstActivity.class);
Bundle b = new Bundle();
b.putInt("id", 124); 
intent.putExtras(b); 
startActivity(intent);
finish();

如果来自子视图,如何在不刷新页面的情况下删除单个项目,如果直接来自,如何加载新页面。

谢谢你的时间请帮助提前谢谢

4

2 回答 2

0

好吧,您只需remove()使用ArrayAdapter.

一种可能的方法是:

Object toRemove = arrayAdapter.getItem([POSITION]);
arrayAdapter.remove(toRemove);

另一种方法是修改ArrayList和调用notifyDataSetChanged()ArrayAdapter。

arrayList.remove([INDEX]);
arrayAdapter.notifyDataSetChanged();
于 2013-08-13T04:30:39.777 回答
0

还有另一个选项可以使用单例类对象。只需在单例类中声明一个列表并在您想要的任何地方使用它,如下例所示,它将为每个地方更新

    public class Singleton {

       private static Singleton instance;
       private static List<Product> itemInfos = new ArrayList<Product>();
       Singleton() {
     } 

     }

当您返回活动时,只需在 onResume() 中通知适配器

于 2013-08-13T04:48:10.373 回答