2011-03-25 32 views
0

onCreate()方法被調用,但新的Activity永遠不會顯示。沒有錯誤記錄。startActivity在HoneyComb中的片段中不起作用

後續 - 從Fragment調用startActivty()沒有問題(我們在第二個Activity中導致它立即退出)中有一個錯誤。

來自Fragment的startActivity()與Fragment外部的startActivty()完全相同。

+0

Dude ..提供給我們一些代碼..僅限於我們可以幫助你.. – mudit 2011-03-25 05:47:13

回答

5

一個片段不應該叫startActivity(),恕我直言。一個片段應該告訴它的活動來展示一些東西,而活動應該決定如何去做。在某些設備上,這可能會啓動另一項活動。在某些設備上,這可能是通過添加一個片段。這個決定應該在活動層面做出,因爲它是根據屏幕尺寸決定哪些片段進入哪些活動的活動。

Here is a sample application其中,在ListFragment上的某個項目的點擊導致要麼單獨DetailsFragment(對於large/xlarge屏幕)被更新或彈出一個新的活性(正常屏幕)。

+1

這種情況是一個imageView,它打開一些可能不在此應用程序中的Activity。沒有理由說明爲什麼第二個Activity必須轉換爲Fragment,而沒有理由不調用startActivty()。 Fragment.startActivity()是Fragment接口的一部分,所以顯然沒有理由說明片段不應該調用startActivity()。 – user275479 2011-03-26 22:36:53

+0

@ user275479:「該案例是一個imageView,它打開了一些可能不在此應用程序中的Activity。」 - 恕我直言,一個'ImageView'不應該在*任何* Android應用程序中打開一個'Activity',不止是一個'TextView'應該執行一個HTTP操作。 – CommonsWare 2011-03-26 22:45:15

0

問題是第二個Activity中的一個錯誤導致它立即退出。所以要回答我自己的問題,從Fragment調用startActivity沒有問題。它的工作原理與從Fragment外部調用startActivity完全相同。

相關問題