2

我有一个目前仅在平板电脑(Honeycomb+)上受支持的应用程序。应用程序中的典型屏幕在 Activity 中有 2 个片段,就像新闻阅读器应用程序一样。Fragment A 的点击会在 Fragment B 中显示相应的内容。现在的问题是,我如何在手机上支持这个应用程序(Froyo+)?这与支持来自活动的片段正好相反。任何形式的帮助/建议都非常感谢。

4

2 回答 2

1

你必须做这样的事情: 在此处输入图像描述

  • 创建一个布局,一个用于手机,一个用于平板电脑。

布局/main.xml:

<LinearLayout
android:id="@+id/handset"
[...]
>
</LinearLayout>

布局大/sw400dp:

<LinearLayout 
  [...]
  >

    <fragment android:name="com.bla.bla.FirstFragment"
              android:id="@+id/first_fragment"
              [...]
              />

     <fragment android:name="com.bla.bla.SecondFragment"
              android:id="@+id/second_fragment"
              [...]
              />

</LinearLayout>
  • 现在在您的 FragmentActivity 中检查这一点:

if (findViewById(R.id.handset) != null) {
    // it's a handset device and you can add a Fragment to this View
    }

 FirstFragment firstFragment = new FirstFragment();
 getSupportFragmentManager().beginTransaction().add(R.id.handset, firstFragment).commit();
  • 如果R.id.handset返回 null 那么它是一个平板电脑,在这种情况下,静态添加的 Fragments 将由它们的 Fragments 类处理。
于 2013-01-04T19:37:10.070 回答
0

在手机上,平板电脑上每次更新片段的点击都会启动一个包含该片段的新活动。

这或多或少是唯一要做的事情: * 在一个活动中封装较少的片段,通常是一个片段 * 将这些新活动链接在一起。

您的活动将只是一种新的粘合剂,您将重用片段。

此外,请注意平板电脑应用程序中片段之间的通信,您必须在活动中移动其中的一部分。

于 2013-01-04T19:18:16.077 回答