0

2 つのタブを表示するためにFragmentTabHostを使用しています。フラグメント タブには、メニュー アクションの後にメイン アクティビティで処理する必要があるさまざまな入力が含まれています。残念ながら、findViewById は非アクティブなタブのビューに対して null を返します。非アクティブなタブにはビューがないためです。

サンプル コードを参照してください。ただし、タブごとに異なる FragmentTab 実装があります。

すべてのタブからビューにアクセスする方法について何か提案はありますか?

4

2 に答える 2

0

タブフラグメントをより詳細に制御できる(サポート)ActionBarを使用してタブを実装することで、問題を解決しました。切り離す代わりに、私はそれらを隠しています。

于 2013-10-04T14:20:02.363 に答える
-2

非アクティブなフラグメント (現時点では表示されていません) は、xml が膨張していない可能性があります。そのため、findViewById は、その xml-view の要素 i に対して null を返します。多分あなたは試すことができます

setOffscreenPageLimit()

これは、タブホストに x 個のタブを「メモリ内」に保持するように指示します。例: メモリ内の 3 (デフォルトは 1)

mTabHost.setOffscreenPageLimit(3)

于 2013-10-04T08:19:06.823 に答える