Ответ 1
Если вы хотите, чтобы он всегда находился в нижней части экрана, независимо от того, как долго ваш ListView
, а затем избавиться от listview.addFooterView(footerView);
и использовать RelativeLayout. Give your
ListView` свойство
android:layout_alignParentTop="true"
и присвойте свой нижний колонтитул
android:layout_alignParentBottom="true"
Если это не решит вашу проблему, пожалуйста, будьте немного более конкретными относительно того, что вы хотите, и предоставите изображение того, что вы хотите, если это возможно.
Edit
После прочтения комментариев это может сработать. Возможно, вам будет проще, но вы можете сделать что-то вроде
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
будет пользовательским layout
, который вы создадите со свойствами, указанными выше. Это должно установить значение visible
, если элементы не больше, чем могут помещаться на экране. Если они больше, чем могут поместиться, вы примените нижний колонтитул на ListView
, как сейчас. Это может быть не самый лучший способ, но это первое, что приходит на ум. Вы должны запустить этот код перед установкой Adapter
.