【问题标题】:Open several layouts from a single activity (listview)从单个活动中打开多个布局(列表视图)
【发布时间】:2015-05-18 08:11:11
【问题描述】:

我使用 Android Studio 中的 ListView 在我的主要活动中创建了一个药物列表。 由于药物很多并且具有相同的特征(适应症、禁忌症、剂量学),我想知道是否有另一种方法可以为每种药物创建活动。换句话说:是否可以从一个活动中打开不同的布局?是否可以创建“模板”布局并仅插入内容(posology 等...)?我尝试使用 Fragment,但失败得很惨。或者,创建大量活动会减慢我的应用程序的速度?谢谢(我为我糟糕的英语语法道歉)

【问题讨论】:

    标签: android listview layout


    【解决方案1】:

    我建议做的是创建类似 DrugDetail 活动的东西,您可以将有关药物的信息传递给该活动。这意味着您无需为每种药物创建大量活动,而是创建一个活动并将所有药物信息传递给它。

    所以你要做的就是在你的药物列表视图中设置一个 onItemClickListener。在那个监听器方法里面有这样的东西

    Intent intent = new Intent(MyActivity.this, DrugDetail.class);
    intent.putExtra("drugName", "drugnamestring");
    intent.putExtra("drugDescription", "drugDescriptionString");
    startActivity(intent);
    

    【讨论】:

    • 谢谢你,安迪,我会试试你的提示,稍后我会告诉你的。
    【解决方案2】:

    在您的情况下,最佳实践是创建基本布局(扩展常见布局,例如 FrameLayout 或RelativeLayout),您将在自己的类中进行扩展,这将扩展此自定义 ListView 的所有项目的 ListView 类。当用户单击列表的项目时,它会扩展并向他显示有关特定药物的所有信息。这个视频就是你所需要的,尽情享受吧! http://www.youtube.com/watch?v=mwE61B56pVQ

    【讨论】:

    • 尊敬的开发人员,感谢您的快速回答。我看了你的视频,我想赞美你的工作,无论是内容还是质量都非常好。在我的应用程序中,我宁愿在不同的屏幕中打开不同的布局,而不是向下滚动它们,因为药物数量非常多,我不想在单一布局中查看所有信息。你有其他想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多