【问题标题】:Should a fragment have a different class to the activity it is used in?片段是否应该具有与其所使用的活动不同的类?
【发布时间】:2013-11-13 13:08:23
【问题描述】:

我打算构建一个简单的活动,带有一个列表和一个更详细的查看面板。该列表填充了从文件中读取的数据。我的问题是两个片段的代码应该在一个活动中,还是在两个单独的活动中,然后由另一个活动调用? 感谢您的帮助!!!

【问题讨论】:

    标签: java android list android-fragments android-listfragment


    【解决方案1】:

    为什么需要片段?您可以解决活动,因为您解释的问题不需要片段来处理。

    如果您想使用片段。在运行时创建它。

    分别创建每个片段的 xml 布局。 创建一个片段活动,它将这些片段作为孩子 Fragment类继承Fragment类,父类继承FragmentActivity类。

    现在,对于代码,每个片段都有自己的单独代码,无需将所有代码放在一个单独的代码中,即父代码。父级将是显示或隐藏片段或将在子片段中的视图回调的所有者。

    但我建议您在实施之前先阅读 android 开发者网站上的文档。

    【讨论】:

    • 好吧,我没有意识到我可以做到没有碎片。这似乎是在 UI 中使用片段的正常示例。感谢您的帮助!
    【解决方案2】:

    您应该使用一项活动。 要将两个碎片都放在屏幕上,请像这样使用 smth

    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <fragment
            android:id="@+id/frag1"
            android:name="your.pckg.frag1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"/>        
        <fragment
            android:id="@+id/frag2"
            android:name="your.pckg.frag2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="2"/>
    </LinearLayout>
    

    两个片段都是独立的类(例如,它是 your.pckg.frag1 类和 your.pckg.frag2 类)

    【讨论】:

    • 如果我想在片段中添加 TextView、Button 或其他任何内容,我是否像添加 LinearLayout 一样(在 XML 中)添加它??
    • 那么我是在活动类上使用还是两个,一个初始化另一个?对于java代码是???
    • 每个片段都有 xml 文件。当然,您可以添加所需的任何视图。为了清楚您的情况(正如我意识到的那样),您有以下文件:3 个 java 文件和 3 个 xml 布局。一个 java 文件用于活动,2 - 用于两个片段,xml 的方式相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多