คำตอบที่นี่ค่อนข้างล้าสมัย แม้ว่ารหัสจะยังคงเหมือนเดิม แต่ก็มีการเปลี่ยนแปลงพฤติกรรมบางอย่าง
public class MyListActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
TextView footerView = (TextView) ((LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_view, null, false);
getListView().addFooterView(footerView);
setListAdapter(new ArrayAdapter<String>(this, getResources().getStringArray(R.array.news)));
}
}
ข้อมูลเกี่ยวกับaddFooterView()
วิธีการ
เพิ่มมุมมองคงที่เพื่อให้ปรากฏที่ด้านล่างของรายการ หากaddFooterView()
ถูกเรียกมากกว่าหนึ่งครั้งมุมมองจะปรากฏตามลำดับที่เพิ่ม มุมมองที่เพิ่มโดยใช้การโทรนี้สามารถโฟกัสได้หากต้องการ
คำตอบส่วนใหญ่ข้างต้นเน้นประเด็นสำคัญมาก -
addFooterView()
จะต้องถูกเรียกก่อนที่จะเรียกsetAdapter()
นี่คือสิ่งที่ ListView สามารถรวมเคอร์เซอร์ที่ให้มาด้วยเคอร์เซอร์ที่จะพิจารณามุมมองส่วนหัวและส่วนท้าย
จาก Kitkat สิ่งนี้เปลี่ยนไป
หมายเหตุ: เมื่อเปิดตัวครั้งแรกเมธอดนี้สามารถเรียกใช้ก่อนตั้งค่าอะแด็ปเตอร์ด้วย setAdapter (ListAdapter) เท่านั้น เริ่มต้นด้วย KITKAT วิธีนี้อาจเรียกได้ตลอดเวลา หากอะแด็ปเตอร์ของ ListView ไม่ขยาย HeaderViewListAdapter อะแดปเตอร์จะถูกรวมเข้ากับอินสแตนซ์ที่สนับสนุนของ WrapperListAdapter
เอกสารประกอบ