-1

我的应用程序有一个可以加载一些的主程序ActivityFrameLayout其中Fragments大多数管理 http 数据请求。

当连接丢失时,我会启动一个特定的Fragment“NoConnectionFragment”,其中包含文本“无互联网连接”和Button“重试”。

单击“重试”时,我想重新加载上一个Fragment加载数据失败的Fragment.

我可以在 a 中传递状态数据Bundle,但是如何将要重新加载的内容传递给 NoConnectionFragment 数据Fragment?有什么办法可以Fragment直接通过吗?

4

2 回答 2

0

You can't pass a fragment to another Fragment because fragments are not supposed to work that way and also fragment are managed by FragmentManagers. What you could do is to pass data from a Fragment to another.

于 2013-10-15T06:31:48.287 回答
0

只存储前一个片段的名称怎么样。

例如:如果在 NoConnectionFragment 启动之前 FragmentA 处于活动状态,则在存储此状态的父活动中保留一个静态变量。

static int PREV_FRAGMENT_INDEX; //index can be 0 for FragmentA, 1 for FragmentB etc

单击重试按钮时,只需检查此变量即可启动相应的片段:

onClick(View v)
{
    switch(getActivity().PREV_FRAGMENT_INDEX)
    {
      case 0: //launch Fragment A

      case 1: //launch Fragment B etc
    }
}
于 2013-10-15T06:36:37.660 回答