2012-09-10 10 views
14

ListFragment'in altına sabit ve her zaman görünür bir altbilgi eklemeye çalışıyorum.Sabit ve her zaman görünür altbilgi aşağıdakiler ListFragment

Şu anda böyle yapıyorum:

İlk: Bu kod listesinin en altında bir görünüm üretir

@Override public void onActivityCreated(Bundle savedInstanceState) { 

    // ... 

    adapter = new MyAdapter(getActivity(), R.layout.list, dataList); 

    ListView list = getListView(); 
    View footer = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_add, null, false); 

    list.addFooterView(footer); 
    setListAdapter(adapter); 
} 

iken, gerçekten ne istiyorum yapmaz FIXED olması için altbilgiye ihtiyacım var, yani, listenin nereye kaydırıldığına bakılmaksızın ekranda görünür. Bu çözümle, altbilgi sadece ekranın listenin altına kaydırıldığında görünür.

İkincisi, liste boş olduğunda bile görüntülenecek altbilgiye ihtiyacım var. Bu çözümde, liste boş olduğunda altbilgi görünmez.

Sabit bir altbilginin (benim durumumda, bir düğmede) her zaman bir ListFragment veya ListActivity'nin altında görünmesini sağlamanın en iyi yolu nedir?

Teşekkürler!

cevap

40

Sen xml düzeninde bunu yapabilir:

<RelativeLayout> 

    <Button android:id="@+id/footer" android:layout_alignParentBottom="true"/> 
    <ListView android:id="@android:id/list" android:layout_above="@id/footer"> <!-- the list --> 

</RelativeLayout> 

Bu düzen

fragmanın onCreateView yönteminde kullanılacak.

+0

Düz eski bir Fragman yerine bir ListFragment kullanıyorum bile bu işe yarar mı? Yoksa onu bir Fragmana çevirmek zorunda mıyım? – gcl1

+0

@ gcl1 A 'ListFragment', View'ın 'android.R.id.list' kimliğine sahip basit bir 'ListView' olduğu bir parçadır. “ListFragment” i kullanmaya devam edebilirsiniz, sadece “onCreateView” yöntemini geçersiz kılmanız ve düzeni benim cevabımdan döndürmeniz yeterlidir. Şu anki "ListFragment" den kodunuzun geri kalanı aynı kalacaktır. – Luksprog

+0

Teşekkürler, bana bir deneyin vereyim .... – gcl1