2014-01-07 66 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} –