首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最佳实践活动-在android中切换和更改视图

最佳实践活动-在android中切换和更改视图
EN

Stack Overflow用户
提问于 2011-07-20 15:16:26
回答 1查看 1.4K关注 0票数 3

我仍然在寻找最好的解决方案,如何使用带有菜单和工具栏的布局,以及如何在android中充气或启动活动。我的问题听起来可能令人困惑,但我试图用一个例子来解释它。

假设im编写了一个android应用程序(令人惊讶)。我真的知道)

我的应用程序可以实现以下功能:

  1. 用户可以登录3或注册2。如果他登录,一个新的活动将启动,他的仪表板将显示。如果他注册:注册过程的一个活动,starts.
  2. Registrationprocess:用户输入他想要的用户名和密码,然后按一个按钮接受。他的数据将被正式验证,如果有效,将开始一个新的活动,在那里他可以选择他的设置。Backbutton工作,数据可以传递给新的活动。在上一次注册窗口之后,数据将被保存并启动仪表板。开始新的活动很有趣!

  1. ,现在它变得复杂了。Dasboard有一个‘actionbar’(顶部)和一个‘工具栏’(底部,就像选项卡)。因此,所有的东西都应该在视图的中间部分查看(从现在起称为主视图)。不再有活动切换:(,)。当前,每个选项卡单击从主视图中移除所有视图并添加其新视图。看上去很棒,可以动画片,工作起来就像一种魅力。除了:它目前不是动态的.

所以..。我不知道怎么解决它最好的方法。例如:我从一个out服务中获取数据,用它创建一个listview,并且它正在扩展listactivity。这个活动我无法开始,但这些数据需要放到主视图中。我怎样才能做到最好的方法?它有效率吗?

我正在练习,实际上这是我第一次想要开始的小讨论。所以..。战斗!;)

更新:--我看到了一种有趣的方法来启动活动并获得结果。Launching activity through intents。是否可以在活动开始后插入新的/更新视图?然后,我将在一个单独的活动中生成我的结果。更新视图。返回到“仪表板”并加载刚刚更新的视图。有可能吗?还是效率低下?我如何从另一个活动中更新视图?我需要学的东西太多了

UPDATE2:应用程序的一个很好的例子: Google+太糟糕了,我没有它们的源代码;)

UPDATE3:,什么是最好的?

functionality

  • startActionForResults,
  • 加载一个新的活动,禁用动画并设置选定的工具箱选项卡+禁用回退按钮提取结果和更新当前视图(仍然不知道翻转视图中的changing+updating数据将是什么。)

我还是不知道有什么有效的解决办法。还是我错过了重要的东西?我刚刚完成了从我的webservice中获取数据的ListActivity。但它仍然在一个单独的活动中运行。我现在如何将它实现到我的“主视图”中?当然..。我可以设置一个自定义适配器列表。但是,当前,当我创建列表活动时,im更新并从服务器获取数据。

恐怕这是我唯一能得到的答案:Embed external Intent in main Activity

UPDATE4:,我在尝试一些东西。基于宁尼尼奥的回答(谢谢!)我正在尝试以下方法:

ViewFlipper.

  • Each

  • 启动表示一个特定的ViewFlipper页面,

  • 每个页面都有一个实现的列表适配器,并显示不同的结果(不同的

  • 查询)。(如果没有profileimage)

  • On工具单击start AsyncTask或Service,并通知当前页中的列表数据已经更改,则使用ListView、GridView和profileimage )。(当然,如果数据发生了变化)。切换到clicked.

  • Implement更新功能的页面。在滚动到list =获取更多数据并添加它的底部。5分钟后自动更新其他列表。或在更新按钮单击.

上的更新列表。

目前为止的优点:整个活动的后退按钮独立。翻页动画可能。异步更新列表,但仍有可能切换到另一个列表。

缺点:..。有人有吗?这种方法的效率如何?ViewFlipper是否携带了所有的信息,这样性能就会下降,还是viewflipper回收它的视图(比如ListView)?

UPDATE5:,如果我有时间的话,我会让这里的一切更容易阅读和讨论。不要因为我看垃圾而生我的气;)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-21 18:29:47

据我所知,你希望你的应用程序开始,从互联网上获取一些数据,然后在主屏幕上显示这些数据。

我不认为需要第二个活动来获取数据,因为根据您的解释,您只想使用它来获取数据,所以最好的方法是:

dashboard)

  • Start
  1. 创建一个活动(在后台创建一个AsyncTask或服务来获取数据。当获取结束时,
  2. 通知它结束的活动。
  3. 更改您的仪表板以显示列表(如果您想要一些动画,可以使用ViewSwitcher,或者只需创建一个带有列表不可见的布局,然后更改为可见)。

ps:您可以在ListView之外使用ListActivity,只需创建一个ListAdapter来创建ListView项,并将其作为ListView的适配器添加。

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

https://stackoverflow.com/questions/6764257

复制
相关文章

相似问题

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