Tôi đang phát triển ứng dụng có chứa 2 mảnh và tôi muốn hiển thị ẩn theo nhu cầu của mình. Đoạn mã sau đây có ví dụ đơn giản về vấn đề của tôi. Phân mảnh đơn giản này chứa 1 nút và một phân mảnh danh sách.
Ví dụ đơn giản này hoạt động hoàn hảo. nhưng tôi không hài lòng với đoạn ẩn hiện. Nếu bạn loại bỏ layout.setVisibility (View.GONE); từ mã sau đó ft.hide (f); sẽ không ẩn phân mảnh. Trong thực tế, chúng tôi không ẩn phân đoạn mà chúng tôi đang ẩn container.
Câu hỏi của tôi là, đây có phải là cách để hiển thị các đoạn ẩn không? Nếu không thì vui lòng giải thích bằng ví dụ đã thử nghiệm Cách ẩn và hiển thị Phân mảnh vì rất nhiều người đang gặp phải vấn đề này.
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
}