【问题标题】:Efficient way to display details of list item显示列表项详细信息的有效方法
【发布时间】:2012-03-22 18:16:20
【问题描述】:

我正在开发针对 7" 或以上平板电脑的应用程序。因此目标平台是 Android 3.x。 我正在寻找一种有效的方法来显示单击列表项的详细信息。我有一个显示一堆项目的列表。 (注意:由于应用程序的性质,我不想在此活动中与其他视图或片段共享 ListView)。单击列表项时,我必须显示该时间的详细信息。一个项目的细节几乎占据了整个屏幕。我想到了几种方法:

  1. 最简单的一个是:在单击列表项时,只需启动一个显示该项详细信息的活动。但我猜它似乎效率不高,因为每次单击项目时都会创建然后销毁此详细信息活动。

  2. 为列表项的详细信息创建一个自定义对话框,并将其引用保存在列表活动中。单击项目后,立即显示此对话框,显示与单击的列表项相对应的内容。使用这种方法,我希望 Dialog 完成整个屏幕(任何建议表示赞赏)。

  3. 在 ListView 中定义 FrameLayout 并消除可见性(这样框架布局不会在 ListView 屏幕中占用任何空间)。此框架布局充当详细信息片段的容器。单击列表项后,立即隐藏 ListView 并使框架布局可见。使用这种方法,我无法有效地在列表视图和详细信息视图之间来回导航。

  4. 应该来自 Android 专家。 :)

感谢您的宝贵时间。

【问题讨论】:

    标签: android android-activity fragment


    【解决方案1】:

    您没有任何理由不能采用方法 1(创建 Activity 以显示详细信息)。更好地将 1 和 2 结合起来创建一个带有对话框主题的 Activity,在 AndroidManifest.xml 中使用类似这样的内容...

    <activity
        android:name=".DetailsActivity"
        android:theme="@android:style/Theme.Dialog">
    </activity>
    

    Activity 提供一个“关闭”按钮,单击该按钮会调用finish() 以退出Activity。我目前的项目中有几个以对话为主题的Activities,它们工作得非常好。

    【讨论】:

    • 这是我对这种方法的关注点。每次用户单击列表项时,我都会创建和销毁 DetailsActivity。我想保留详细信息视图(作为自定义对话框或片段还是更好的方法?),只需更改与列表项对应的内容并显示它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 2011-08-01
    • 2020-09-05
    • 2016-07-05
    • 1970-01-01
    • 2017-12-16
    相关资源
    最近更新 更多