我想在Main Activity
上单击button
时动态更改fragment1
的可见性。 fragment1
被初始化为可见,但当按下按钮时,fragment1
更改为隐藏。动态更改片段的可见性
我读过,改变活动中片段的可见性是危险的,随后应该用Fragment Manager
来处理,例如。
FragmentManager fragmentManager = getFragmentManager();
final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
final fragment_one fragment1 = new fragment_one();
fragmentTransaction.add(R.id.fragment_container, fragment1);
fragmentTransaction.show(fragment1); //or .hide(fragment1);
fragmentTransaction.commit();
但是,我的理解是,一旦片段承诺已经有效地初始化,所以要改变其状态,需要将其替换,因此经过上述过程?这对于初步改变一些东西似乎非常麻烦。
显然,按钮需要在Main Activity
,否则,如果可以切换可见性状态,则不可能从不可见状态恢复为可见状态。因此,我实现了以下功能,但它对片段没有影响 - 这正是我所怀疑的,因为我已经完成了这个片段。注意:在提交上面详述的片段之后,以下是Main Activity
中的onCreate方法。
任何意见将非常感谢。
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fragmentTransaction.hide(fragment1);
}
});