2011-05-12 54 views
0

这是一个新手问题。将活动传递给其视图的最佳方式是什么?我知道View有权访问它的上下文。意向仍然是要走的路?或者还有别的吗?将数据从活动传递到其视图

编辑:不知道关于数据的细节要紧:)

的数据是从存储在一个对象中的活动服务器获得的用户信息。它包含用户标识,名称和其他详细信息(长整数和字符串)。

这个想法是在视图中使用/显示数据,并可能修改某些字段并将其传回给将发送给服务器的活动。此外,在我拥有用户信息对象后,我创建并启动视图。所以在启动View之后,当它想要使用它时,它必须以某种方式获取对象。

P

+0

什么样的数据?当你说把它传递给它时,你究竟是什么意思?使TextView显示一些数据为文本或类似的东西?或者您是否以这样的方式分类了视图,以至于它需要某种数据?给我们一些关于你想要完成的事情的更多信息,这对我们来说会更容易帮助。 – FoamyGuy 2011-05-12 15:17:13

+0

您能否向我们提供一些您正在尝试做什么的更多细节?该视图与该活动有什么关系? – TofferJ 2011-05-12 15:18:05

+0

感谢您查看问题。编辑它以添加更多信息。 – user220201 2011-05-12 15:28:33

回答

3
+0

这是特定于视图的东西。我可以在启动视图前从活动中设置这些标签吗?因为这是我所需要的,所以我手中有用户对象,然后创建并启动视图。视图在准备使用时应该获取User对象。 – user220201 2011-05-12 16:05:36

+1

我假设这是一个使用自定义构造函数创建的自定义View对象:您应该只需将您的User对象传递给构造函数即可。如果它是从XML中膨胀的,那么你可以在膨胀视图后立即在'onCreate'中设置标签,或者你可以使用'findViewById'获取View实例,将它转换为正确的类,然后调用一个方法,用户对象。如果你在'onCreate'中这样做,它将在View显示在屏幕上之前发生。 – Femi 2011-05-12 16:12:42

0

我不知道你的意思究竟有作为的看法是正常活动的一部分,通过数据形成与视图的活动。

所以我建议你在onCreate()onCreate()方法中启动一个AsyncTask,该方法从服务器下载数据。当AsyncTask完成时,您将数据包传递给您的活动方法,该方法接受数据并填充相应的视图元素。要获得对TextViewEditText等视图的参考,可以使用方法findViewById()

当完成编辑数据时,他必须按Button触发OnClickListener从视图中获取编辑的数据并启动另一个AsyncTask将数据上传回服务器。

相关问题