在 Android 中使用 ViewFipper

发布于 2024-10-06 09:30:21 字数 304 浏览 7 评论 0原文

我需要在 ViewFlipper 的帮助下创建一个问题向导,以便用户可以轻松地在问题之间导航。我需要动态生成每个问题的视图。每个视图将包含一个文本视图(用于问题)、单选按钮(用于答案的选项)和按钮(“下一个”和“上一个”按钮在每个视图之间翻转)。

这是我想要创建的向导模型:

alt text

在 Viewflipper 中,我看到布局已经在XML 文件。任何人都可以帮助我如何自动生成它并将值正确设置到视图中。

问候 DJ

I need to create a question wizard with the help of ViewFlipper so that users can navigate between the questions easily. I need to dynamically generate the views for each questions. Each of the view will contain a Textview(for questions) Radio Buttons(Options for answer) and Buttons('Next' and 'Previous' buttons to flip between each views).

Here is the model of wizard I want to create:

alt text

In Viewflipper, I see that the layout is already defined in the XML file. Can anyone help me how to generate it automatically and set the values correctly to the view.

regards
dj

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花落人断肠 2024-10-13 09:30:21

在你的位置我会做什么:

  • 制作我自己的视图类,该类将当前问题初始化所需的参数作为参数
  • 实现 ViewSwitcher.ViewFactory 接口在 Activity 中,以便为下一个或上一个问题构建视图
  • 使用 ViewSwitcher 小部件,允许您从一个问题切换到另一个问题

有很多关于如何使用 ImageSwitcher 小部件的示例(从与这个)。您只需要将它们调整为更通用的 ViewSwitcher 即可。

该解决方案相对于 ViewFlipper 的好处是,当您的测验有 100 个问题并且您需要创建与您的问题相对应的所有 100 个视图时,您不必担心内存问题。

What I would do in your position:

  • Make my own view class that takes as parameter what is needed to get initialised with the current question
  • Implement the ViewSwitcher.ViewFactory interface in the Activity in order to build the view for the next or previous question
  • Use a ViewSwitcher widget to allow you to switch from a question to another

There are quite a lot of examples on how to use the ImageSwitcher widget (starting with this one). You just need to adapt them to a more general ViewSwitcher.

The good thing about that solution over the ViewFlipper one is that you won't have to worry about memory when your quizz has 100 questions and you need to create all 100 views corresponding to your questions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文