0

我的应用程序只有在有网络连接的情况下才能工作。因此,我在应用程序启动和恢复时检查是否相同。

我有一个监听网络变化的广播接收器。

如果没有网络,我想显示一个简单的“无网络连接”视图。“无网络连接”包含一个文本视图,说明没有悲伤的脸的互联网。

当网络可用时,从广播接收器,我想将“无连接视图”更改为“仪表板”视图。

“仪表板”视图包含应用程序的主要业务逻辑和工作流程。

因此,根据网络状态,活动在两个视图之间摆动。

实现这一目标的最佳方法是什么?

案例1:两个视图都有自己的活动。问题:我需要为“无连接”视图处理多余的后压和生命周期事件。

案例2:一项活动并根据网络状态动态使用切换视图

案例 3:在同一个 xml 文件中有两个布局(相对布局)。根据状态打开/关闭可见性。

案例 4:使用 Inflater动态切换视图。

提前致谢。

4

1 回答 1

0

使用一个活动和两个片段:ConnectStatusFragment,DashboardFragment

private void showFramentDepends(){
    if(networkisfine){
        // init your fragmnet
        switchFragment(ConnectStatusFragment);
    }else{
        switchFrament(DashboardFragment);
    }
}

private void switchFragment(Fragment fragment){
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
    ft.replace(R.id.content_fragment, fragment);
    ft.commit();
}

并且您的活动布局 xml 文件应如下所示:

<FrameLayout
    android:id="@+id/content_fragment"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">
</FrameLayout>
于 2013-02-23T16:36:32.863 回答