Bin*_*Ich 7 android android-tabhost activitygroup android-fragments
嘿伙计们我正在开发一个Android应用程序,我想为每个选项卡实现一个活动组.但由于不推荐使用Activity Group,我必须使用Fragments.我搜索了最后几天并对该主题进行了一些研究,但我仍然没有得到它.下图描述了我想要做的事情.我也是直接来自iOS,我需要一些关于我的理论的反馈.

正如您所看到的,每个Fragment都包含一个WebView Fragment.当用户单击该WebView片段中的链接时 - 请求被捕获并且替换了新的片段,该片段再次保存WebView并加载在前一片段中单击的链接.在某一点上,用户决定返回第一个片段并按下后退按钮.
片段应以相反的顺序从堆栈中弹出,直到他再次看到第一个片段.理想情况下,每个Fragment应该保存他的instancestate,这样当用户返回时,WebView不需要再次加载该站点.
我遇到了ActionBar Sherlock,它提供了一个关于Fragments选项卡的例子.还有片段堆栈的示例.将这两个示例组合起来是理想的,这样每个选项卡都包含一个Fragment Stack.
我的代码结构如下所示:
我的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
Run Code Online (Sandbox Code Playgroud)
每个标签的片段堆栈应该如何?目前我有一个片段活动,每个标签内都有一个片段.但我没有达到我需要的逻辑.
这是我的代码:My Fragment with WebView inside
我会很高兴收到一些反馈和提示(或者网上有没有例子?).我也对内存有一些顾虑 - 当用户点击并点击并点击时,内存必须将每个片段保存在堆栈中.
干杯.
我想不出有多少好的理由在用户每次单击链接时创建一个新片段。您尝试这样做有什么原因吗?如果您只是从 shouldOverrideUrlLoading() 返回 false 而不是创建新片段,WebView 将加载新页面,如果您想返回,可以使用 canGoBack() 和 goBack() 方法。要处理后退按钮按下操作,您可以在 Activity 中重写 onKeyDown,并执行以下操作:
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack() {
myWebView.goBack();
return true;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2941 次 |
| 最近记录: |