首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将List<>或“委托”解析为意图

将List<>或“委托”解析为意图
EN

Stack Overflow用户
提问于 2013-10-31 23:09:13
回答 1查看 382关注 0票数 0

我有一个TableView,如果单击一个单元格,我将显示一个DetailView (我正在开始一个新的意图)。在这个DetailView中,您可以修改数据或添加一个新的数据条目。

因此,我必须将数据解析到新的意图,并通知我的TableView,如果数据被添加,为了更新TableView,当然,我必须保存数据。

与其他语言相比,将数据解析为意图是相当“复杂”的,但没有问题。但是如何通知我的TableView数据被更改或添加了呢?

在C++、iOS或C#中,我将使用委托,但Java没有委托。那么,Java/Android的发展方向是什么呢?

另一个问题是:如果没有一种简单的方法可以告诉TableView数据已经更改,我想将数据的List<>解析为DetailView,这样DetailView就可以处理保存操作。

我真的需要创建自己的List<>子类并实现Parcelable接口吗?真的没有更容易的方法来实现这一点吗?

现在,我已经实现了DetailView,以添加如下所示的新组件:

代码语言:javascript
运行
复制
    ((Button)view.findViewById(R.id.cmdNewMemory)).setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            Intent intent = new Intent(v.getContext(), MemoryDetailsFragmentActivity.class);
// Parse enum to tell the DetailView if new data is to be added or old data is to be changed
            intent.putExtra("MEMORYDETAILSTYPE", (Parcelable)MEMORYDETAILSTYPE.New);
            startActivity(intent);
        }
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-01 02:18:25

因此,我必须将数据解析到新的意图,并通知我的TableView,如果数据被添加,为了更新TableView,当然,我必须保存数据。

有几种方法可以将更复杂的数据传递给激活程序:

  • 如果数据是由数据库支持的,只需传递标识符即可。
  • 实现Parcelable
  • 实现Serializable
  • 通过静态单例传递数据
  • 通过Application实例传递数据

相关讨论:

更新表视图的一种实用方法是重新绘制包含活动的onResume() --无论是无条件的还是由新的最后修改日期触发的。在一种更复杂的方法中,可以使用它的内置方法(例如insert()remove() (在ArrayAdapter的情况下))修改表的适配器实现中的数据结构元素,最后调用它的notifyDataSetChanged()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19718177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档