If you want it to always be at the bottom of the screen, no matter how long your ListView
is, then get rid of listview.addFooterView(footerView);
and use a RelativeLayout. Give your
ListView` the property
android:layout_alignParentTop="true"
and give the property to your footer
android:layout_alignParentBottom="true"
If this doesn't solve your problem then please be a little more specific about what you want and provide a picture of what you want if possible.
Edit
After reading the comments this might work. There might be an easier way but you could do something like
listView.post(new Runnable()
{
public void run()
{
int numItemsVisible = listView.getLastVisiblePosition() -
listView.getFirstVisiblePosition();
if (itemsAdapter.getCount() - 1 > numItemsVisible)
{
// set your footer on the ListView
}
else
{
footerView.setVisibility(View.VISIBLE);
}
}
footerView
would be a custom layout
that you would create with the properties I referenced above. This should set that to visible
if the items aren't more than can fit on the screen. If they are more than can fit then you apply the footer view on the ListView
as you are now. This might not be the best way but its the first thing that comes to mind. You would run this code just before you set the Adapter
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…