相关疑难解决方法(0)

重新加载时刷新片段

在一个TableView应用程序中,我将数据从a加载FragmentFragment内部a Fragment.但是,当我TableViewFragment它显示以前的数据.我可以Fragment使用当前数据而不是以前的数据重新填充吗?

android android-fragments

98
推荐指数
8
解决办法
23万
查看次数

使用片段时更改ActionBar

在一个片段中,在一个活动中调用我正在显示这样的总线行列表:

第1页,第一次打开时.

然后,一旦用户点击"站点",我当然希望显示站点列表.我正在使用此代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.act_long_distance);

    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.add(R.id.f_long_distance, new LongDistanceFragment()).commit();
}

@SuppressWarnings({"UnusedDeclaration"})
public void showStationList(View view) {
    String tag = (String) view.getTag();
    if (tag != null && tag.length() > 0) {
        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        StationListFragment fragment = new StationListFragment(tag.split(","));
        ft.add(R.id.f_long_distance, fragment);
        // ft.replace(R.id.f_long_distance, fragment);
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        ft.addToBackStack(null);
        ft.commit();
    }
}
Run Code Online (Sandbox Code Playgroud)

此活动的XML是:

<LinearLayout
    android:id="@+id/ll_container"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >
    <FrameLayout
        android:id="@+id/f_long_distance"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

StationListFragment是一个显示在另一个上面的简单ListFragment:

单击

尽管ActionBar运行良好,它现在只适用于Title.

什么是行不通的,如果我现在回来.站点列表已隐藏,但旧的ActionBar未恢复:

从List按钮返回后的ActionBar

文档说添加ActionBar的方法是使用onCreateOptionsMenu方法等. …

android android-fragments

9
推荐指数
1
解决办法
1万
查看次数

使用碎片时按下后退按钮时调用OnResume

我像这样添加第一个片段

            FragmentManager fm = SliderActivity.this
                    .getSupportFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            Fragment fragment = null;
            fragment = new HomeFragment();
            ft.add(R.id.content_fragment, fragment, "Home");
                ft.addToBackStack("Home");
                ft.commit();
Run Code Online (Sandbox Code Playgroud)

和第二个片段

            FragmentManager fm = SliderActivity.this
                    .getSupportFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            Fragment fragment = null;
            fragment = new HomeFragment();
            ft.add(R.id.content_fragment, fragment, "About");
            ft.addToBackStack("About");
            ft.commit();
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我按下AboutFragment(第二个)的按钮,然后如何调用HomeFragment的方法(第一个)

            onResume() is not fired which is creating problem
Run Code Online (Sandbox Code Playgroud)

android fragment

4
推荐指数
1
解决办法
4657
查看次数

使用片段和后台堆栈时管理操作栏标题

我的应用程序有一个活动,它使用FragmentManager将片段推送到后台堆栈.但是,当backstack有2个片段并且弹出最后一个片段时,我不知道如何检测它以适当地设置Action Bar的标题.我希望在我可以覆盖的片段上有一些方法来确定它何时变得可见,但是没有一个方法被调用,例如uservisiblehint,onHiddenChanged等.我怎么能:

•确定片段何时可​​见; 要么

•在backstack上使用片段时有效管理操作栏标题?

android android-fragments android-actionbar back-stack

3
推荐指数
1
解决办法
2123
查看次数