最佳答案
我正在开发的应用程序,其中包含2个片段,我想显示隐藏根据我的需要。下面的代码是我的问题的简单例子。 This simple Fragmentactivity contains 1 button and one listfragment.
这个简单的例子完美无缺。但是我不满足于展示皮片。如果从代码中删除 layout.setVisiability (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
}