相关疑难解决方法(0)

android片段 - 如何在片段上推送另一个片段时保存片段中的视图状态

在android中,一个片段(比如说FragA)被添加到backstack而另一个片段(比如说FragB)会出现在顶部.现在回击FragA到顶部并被onCreateView()称为.现在我FragA处于一个特定的状态,然后FragB被推到它之上.

我的问题是如何恢复FragA到以前的状态?有没有办法保存状态(比如说在Bundle中),如果有,那么我应该覆盖哪种方法?

android android-fragments

132
推荐指数
7
解决办法
14万
查看次数

在android中显示隐藏片段

我正在开发包含2个片段的应用程序,我想根据我的需要显示隐藏.以下代码有我的问题的简单示例.这个简单的Fragmentactivity包含1个按钮和一个listfragment.

这个简单的例子完美无瑕.但我对show hide片段不满意.如果删除layout.setVisibility(View.GONE); 从代码然后ft.hide(f); 不会隐藏片段.实际上我们并没有隐藏我们隐藏容器的片段.

我的问题是,这是一种显示隐藏片段的方法吗?如果没有,那么请用测试的例子解释如何隐藏和显示碎片,因为很多人都面临这个问题.

 public class MainActivity extends FragmentActivity implements OnClickListener {

        Fragment1 f;
        Button b;
        LinearLayout layout;
        Fragment myf;
        @Override
        public void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            b = (Button) findViewById(R.id.button1);
            layout = (LinearLayout) findViewById(R.id.ll);
            f = new Fragment1();
        }

        @Override
        public void onClick(View v) {

            FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
            ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);

            if (f.isHidden()) {
                ft.show(f);
                layout.setVisibility(View.VISIBLE);
                b.setText("Hide");
            } else {
                ft.hide(f);
                b.setText("Show");
                layout.setVisibility(View.GONE);
            }
            ft.commit();
            // TODO Auto-generated method stub
        }
Run Code Online (Sandbox Code Playgroud)

android show-hide android-fragments

87
推荐指数
6
解决办法
15万
查看次数

标签 统计

android ×2

android-fragments ×2

show-hide ×1