ฉันกำลังพัฒนาแอพพลิเคชั่นที่มีชิ้นส่วน 2 ชิ้นและฉันต้องการแสดงการซ่อนตามความต้องการของฉัน รหัสต่อไปนี้มีตัวอย่างง่ายๆของปัญหาของฉัน Fragmentactivity แบบธรรมดานี้ประกอบด้วยปุ่ม 1 ปุ่มและส่วนรายการเดียว
ตัวอย่างง่ายๆนี้ทำงานได้อย่างไม่มีที่ติ แต่ฉันไม่พอใจกับการแสดงส่วนซ่อน หากคุณลบ layout.setVisibility (View.GONE); จากรหัสแล้ว ft.hide (f); จะไม่ซ่อนส่วน ในความเป็นจริงเราไม่ได้ซ่อนชิ้นส่วนเรากำลังซ่อนภาชนะ
คำถามของฉันคือวิธีนี้เป็นวิธีแสดงชิ้นส่วนซ่อนหรือไม่ หากไม่เป็นเช่นนั้นโปรดอธิบายด้วยตัวอย่างทดสอบวิธีซ่อนและแสดง Fragments เนื่องจากผู้คนจำนวนมากกำลังประสบปัญหานี้
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
}