нижний колонтитул listview динамически изменять состояние Android - PullRequest
2 голосов
/ 14 октября 2011

У меня есть ListView, и я хочу добавить нижний колонтитул. Я легко сделал это стандартным методом addFooterView. Но нижний колонтитул добавляется в конец ListView и отображается как часть ListView (то есть, если ListView элементов больше, чем размещенных на экране, то нижний колонтитул за пределами экрана).
Зачем мне это нужно : я хочу показать кнопку, когда пользователь взаимодействовал с некоторыми View в ListView. И «поднимите» ListView границу внизу экрана на (current height value - height value of button).
Проблема в : onClickListener требуется View в адаптере. И setContentView в деятельности. Я не получаю доступ к параметрам кнопки от адаптера до ListActivity.

Мой XML-макет:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ListView 
android:id="@+id/watchAddList"
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:scrollbars="none"
android:listSelector="@drawable/list_selector"
    style="@style/listViewStyle">
</ListView>

 <include 
  layout="@layout/submit" 
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" />  
 </RelativeLayout>

и включают макет:

<?xml version="1.0" encoding="UTF-8"?>
  <RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:id="@+id/rl_submit">

<Button 
android:id="@+id/submit"    
android:layout_height="wrap_content"
 android:text="Сохранить" 
android:layout_width="fill_parent" 
android:layout_alignParentBottom="true" 
android:layout_alignParentLeft="true"></Button>
</RelativeLayout>

UPD: Я это делаю! я использовал Singleton и вызвал экземпляр Activity в классе Adapter, затем получил доступ к свойствам кнопки. Круто!

...