Ich entwickle eine Anwendung, die 2 Fragmente enthält, und ich möchte je nach Bedarf Haut zeigen. Der folgende Code enthält ein einfaches Beispiel für mein Problem. Diese einfache Fragmentaktivität enthält 1 Schaltfläche und ein Listenfragment.
Dieses einfache Beispiel funktioniert einwandfrei. aber ich bin nicht zufrieden mit show hide fragment. Wenn Sie layout.setVisibility (View.GONE) entfernen; aus dem Code dann ft.hide (f); Fragment nicht verbergen. Tatsächlich verstecken wir kein Fragment, sondern einen Container.
Meine Frage ist, IST dies eine Möglichkeit, Hautfragmente anzuzeigen? Wenn nicht, erklären Sie bitte anhand eines getesteten Beispiels, wie Fragmente ausgeblendet und angezeigt werden, da viele Menschen mit diesem Problem konfrontiert sind.
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
}