2014-01-07 24 views
0

我知道这是一个非常普遍的话题。我找到了很多解决方案,但没有一个是我真正想要的。 我发现这个链接 http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/ 是非常有帮助,但我不明白的东西。 在这个例子中,被标记为“高评分,游戏,电影”的标签全部延伸片段如何在这些类中使用我的活动事件?我的意思是,在games.java类中,我如何使用onTouch方法或onCreate或需要扩展活动的东西?如何在标签间滑动?(扩展活动)

谢谢。

编辑 我想这样使用;在我的主要活动中,我定义了3个tab类(A,B,C); 当我滑动到B我想分配xml(按钮,列表...)到B,我想onClick监听器,事件上B.java类,但它扩展片段而不是活动。

回答

0

这是碎片的目的。片段生命周期与Activity生命周期非常相似,我绝对建议您阅读它here。一个活动被设计成控制器,它将碎片粘在里面。在实践中,许多活动大多是做所有工作的碎片的容器。此外,在片段中,您始终可以通过getActivity()获得对其活​​动的引用,因此几乎可以使用片段完成的任何活动都可以完成。

0

扩展片段的所有三个类使他们“单身”意味着静态实例。现在,如果您想使用ontouch方法或任何Activity的方法,您可以在所有3个片段类上创建相同的方法。然后通过其片段实例调用Activity方法。

+0

谢谢你的回答,你能给我一些代码示例,我会尝试一下,再次感谢 – user3086226

+0

请告诉我怎么做 – user3086226

+0

只要你切换片段你设置一个变量enum“currentTab”标签。然后例如像这样的活动代码的onTouchEvent的 - \t \t @Override \t公共布尔的onTouchEvent(MotionEvent事件){ \t \t \t 如果\t(currentTab == TopRated) \t \t { \t \t \t TopRatedFragment。 。实例()的onTouchEvent(); 。 \t \t} \t \t否则,如果(currentTab ==游戏) \t \t { \t \t \t GamesFragment.Instance()的onTouchEvent(); \t \t} \t \t否则如果(currentTab ==影) \t \t { \t \t \t MoviesFragment.Instance()的onTouchEvent(); \t \t} return super.onTouchEvent(event); \t} –