2012-01-20 7 views
6

今まで私のアプリケーションにはTabHostを使って3つのタブを作成しました。各タブは、XMLファイルからsetContentView(R.layout.something)を介してレイアウトを取得するアクティビティで表されます。 3つのタブ、3つのアクティビティ、3つのXMLファイル。TabHostからViewPagerを使ったフラグメントに切り替える:すべてのコードを置く場所

今、私は断片的なものを見つけました。これは、新しい、より良い方法です。だから私の質問です。

フラグメントはUIを処理するので、FragmentPagerAdapterによって処理される3つのフラグメントを作成します。各フラグメントの中にXMLファイル経由のコンテンツを作成します。

しかし、どのボタンが何をしているのか、データベースから読み込んだり書き込んでいるのかなど、すべてのコードはどこに置いておきますか?それまでのところ、すべてのアクティビティはTabhostによって読み込まれました。

各フラグメントのonCreate()などのメソッドにそのコードをすべて入れているのですか、それを行うにはより良い方法がありますか?

答えて

3

あなたが提案するアプローチは、かなり上質です!

ここでは、各フラグメントのonCreateView()でページ(フラグメント)のUIを作成/変更するために何かを行うことをお勧めします。 onActivityCreated()。 onCreate()をフラグメント内で操作することをお勧めします。これは、アクティビティに関連付けられる前に呼び出されるためです(contentProvidersへの管理クエリなどのthigを実行しないようにするため)。ボタンのクリックリスナーは、onCreateViewまたはonActivityCreated()で定義できます。

もっと具体的なことは、私に教えてください。標準のページャにはタブタイトル/アイコンの行は含まれていませんが、Google ViewPagerIndicatorとこれを行うために使用できるライブラリがあります。

関連する問題