Come aggiungere un piè di pagina in ListView?

Sto sviluppando un'applicazione, nella mia applicazione sto usando Listview per la visualizzazione dei dati utilizzando l'analisi dom, voglio piantare in listview, quando faccio clic su piè di pagina aggiuntivo altri dati aggiungono alla vista elenco, ho allegato image, vorrei che design e process, si prega di riferirsi image1 e imgae2.I menzione footer in rettangolo rosso

Fig1-Piè di pagina come "Altre notizie"
alt text

  • Azione di azione personalizzata di Android ActionBar
  • Vs Tipo di carattere spannable Vs Html
  • EditText, adjustPan, ScrollView in android
  • Android, ProGuard e keepclassswithmembernames
  • React Native in Android non è riuscito a trovare Strumenti di creazione
  • Scelto per e-mail di Android
  • alt text

    Fig2-Aggiungere altri 10 record aggiunti in listview

  • Android - Grow Heap (Frag Case) - Allocazione di byte .. Non caricamento di bitmap
  • Centrare il text nel cerchio
  • Android - Salva dati da WebView
  • Distriggers la networking mobile in modo programmato
  • Leggete il contenuto della list a discesa da Excel utilizzando apache poi
  • Come caricare un file nella cartella di unità google utilizzando l'android google drive sdk
  • 5 Solutions collect form web for “Come aggiungere un piè di pagina in ListView?”

    Creare un layout di visualizzazione piè di pagina che consiste di text che si desidera impostare come piè di pagina e quindi provare

    View footerView = ((LayoutInflater) ActivityContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_layout, null, false); ListView.addFooterView(footerView); 

    Il layout per il piè di pagina potrebbe essere qualcosa di simile:

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="7dip" android:paddingBottom="7dip" android:orientation="horizontal" android:gravity="center"> <LinearLayout android:id="@+id/footer_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" android:layout_gravity="center"> <TextView android:text="@string/footer_text_1" android:id="@+id/footer_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14dip" android:textStyle="bold" android:layout_marginRight="5dip" /> </LinearLayout> </LinearLayout> 

    La class di attività potrebbe essere:

     public class MyListActivty extends ListActivity { private Context context = null; private ListView list = null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); list = (ListView)findViewById(android.R.id.list); //code to set adapter to populate list View footerView = ((LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_layout, null, false); list.addFooterView(footerView); } } 

    So che questa è una domanda molto vecchia, ma ho scoperto la mia strada qui e ho trovato la risposta fornita non soddisfacente del 100%, perché come ha detto gcl1 – in questo modo il piè di pagina non è davvero un footer sullo schermo – è solo un "add-on" "alla list.

    Bottom line – per altri che possono andare in Google qui – ho trovato qui il seguente suggerimento: Piè di pagina fisso e sempre visibile sotto ListFragment

    Provate a fare quanto segue, where l'accento è sul button (o qualsiasi elemento di piè di pagina) elencato prima nell'XML – e quindi l'elenco viene aggiunto come "layout_above":

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

    Le risposte qui sono un po 'obsolete. Anche se il codice rimane lo stesso, ci sono alcune modifiche nel comportmento.

     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.arrays.news))); } } 

    Informazioni sul metodo addFooterView()

    Aggiungere una vista fissa per comparire nella parte inferiore dell'elenco. Se addFooterView() viene chiamato più volte, le viste appariranno nell'ordine in cui sono state aggiunte. Le viste aggiunte utilizzando questa chiamata possono concentrarsi se vogliono.

    La maggior parte delle risposte sopra stress un punto molto importnte –

    deve essere chiamato setAdapter() prima di call setAdapter() . Quindi è così che ListView può avvolgere il cursore fornito con quello che includerà anche le viste di intestazione e di piè di pagina.

    Da Kitkat questo è cambiato.

    Nota: quando viene presentato per la prima volta, questo metodo potrebbe essere chiamato solo prima di impostare la scheda con setAdapter (ListAdapter). A partire da KITKAT, questo metodo può essere richiamato in qualsiasi momento. Se la scheda di ListView non estende HeaderViewListAdapter, verrà avvolta con un'istanza di supporto di WrapperListAdapter.

    Documentazione

    Se il ListView è un figlio della ListActivity:

     getListView().addFooterView( getLayoutInflater().inflate(R.layout.footer_view, null) ); 

    (all'interno di onCreate ())

    L'attività in cui si desidera aggiungere il piè di pagina di visualizzazione e ho anche generato un evento sul click di piè di pagina di visualizzazione.

      public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView list_of_f = (ListView) findViewById(R.id.list_of_f); LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.web_view, null); // i have open a webview on the listview footer RelativeLayout layoutFooter = (RelativeLayout) view.findViewById(R.id.layoutFooter); list_of_f.addFooterView(view); } } 

    activity_main.xml

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg" > <ImageView android:id="@+id/dept_nav" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/dept_nav" /> <ListView android:id="@+id/list_of_f" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/dept_nav" android:layout_margin="5dp" android:layout_marginTop="10dp" android:divider="@null" android:dividerHeight="0dp" android:listSelector="@android:color/transparent" > </ListView> </RelativeLayout> 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.