2012-07-22 40 views
1

我正在開發一個使用Fragment的Android應用程序,該應用程序將啓動相機並使用Intent捕獲圖像,然後該片段還包含一些EditText供用戶在Intent返回時填寫。在片段中從onCreate或onCreateView啓動攝像機意圖?

我想知道啓動意圖的最佳位置(最佳實踐)是什麼?它是否在onCreate()onCreateView()方法中被覆蓋?

+1

恕我直言,一個片段不應該從'onCreate()'或'onCreateView()'開始一個活動。片段應該僅基於用戶的積極行爲(例如,單擊操作欄項目,單擊按鈕)開始活動。 – CommonsWare 2012-07-22 16:08:20

+0

感謝您的意見。我很樂意這樣做。只是爲了說清楚,用戶已經按下了一個標籤爲「Add」的按鈕,該按鈕啓動另一個活動並獲取片段。我認爲從片段啓動攝像機是可以的(至少我不認爲用戶會太困惑)。 – span 2012-07-22 16:39:52

回答

0

由於CommonsWare在第一條評論中指出,片段不應該從onCreateonCreateView的任一個開始Activity。他的觀點是,由於用戶沒有按下按鈕,因此不應採取任何行動。然而,在我的設計中,按下了一個"Add"按鈕,然後啓動了我想自動啓動相機意圖的片段。我之所以這樣做是因爲我的應用程序需要一張照片才能使用戶首先拍照。用戶然後將填寫一些其他字段並保存數據。

我現在意識到CommonsWare是對的。最好讓用戶點擊另一個按鈕,然後讓他們驚訝於他們沒有想到的事情。我也意識到讓用戶在強制用戶採取行動之前查看錶單中需要的字段是一個好主意。

我最終添加了一個ImageButton與相機圖標啓動意圖,它的工作很好。

相關問題