こんにちは私はそれぞれのタブのアクティビティグループを実装したいと思っているAndroidのアプリケーションに取り組んでいます。しかし、アクティビティグループは廃止予定であるため、私はフラグメントを使用する必要があります。私は最後の日をgoogledし、そのトピックに関するいくつかの研究を行ったが、私はまだそれを取得しません。以下の図は、私がしたいことを説明しています。また、私はiOSからまっすぐに来ており、私の理論についていくつかのフィードバックが必要です。Androidの断片と活動のグループ
あなたはすべての断片を見ることができるようにWebViewの断片で構成されています。ユーザーがそのWebView Fragmentのリンクをクリックすると、リクエストが捕捉され、新しいFragmentが置き換えられ、WebViewが再び保持され、前のFragmentでクリックされたリンクがロードされます。ある時点で、ユーザは第1のフラグメントに戻ることを決定し、戻るボタンを押す。
フラグメントは、最初のフラグメントが再び表示されるまで、逆の順序でスタックからポップアウトする必要があります。理想的には、各フラグメントはインスタンスを保存する必要があるため、ユーザーがWebViewに戻ったときにサイトを再度ロードする必要はありません。
私は、フラグメントタブについての例を提供するActionBar Sherlockに出会った。フラグメントスタックの例もあります。これらの2つの例を組み合わせると、各タブがフラグメントスタックで構成されるのが理想的です。
私のコードの構造体は、以下のようになります。
マイTabHost断片
public class MyActivity extends SherlockFragmentActivity {
static TabHost mTabHost;
static TabManager mTabManager;
public static int THEME = R.style.Theme_Sherlock_Light;
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(THEME); //Used for theme switching in samples
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_tabs);
mTabHost = (TabHost)findViewById(android.R.id.tabhost);
mTabHost.setup();
mTabManager = new TabManager(this, mTabHost, R.id.myRealTabContent);
// adding some Fragment Tabs
mTabManager.addTab(mTabHost.newTabSpec(tabNames[i]).setIndicator(tabNames[i]),
FragmentStackSupport.CountingFragment.class, bundle);
if (savedInstanceState != null) {
mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab"));
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("tab", mTabHost.getCurrentTabTag());
}
// defining the Tab Manager
どのように各タブのフラグメントスタックは次のようになりますでしょうか? 現在、私は各タブの中にフラグメントを持つフラグメントアクティビティを持っています。しかし、私は必要な論理を達成していません。
は、ここに私のコードです:(?またはWeb上の任意の例がある)
My Fragment with WebView insideは、私はいくつかのフィードバックやヒントのために喜んでいるだろう。私はまた、ユーザーがクリックしてクリックして、メモリがスタック内の各フラグメントを保持しなければならないとき、メモリに関するいくつかの懸念を持っています。
乾杯。
+1よく説明されている質問です。 –
この問題の解決方法を見つけたことはありますか? –