Cómo añadir un botón debajo de un listview en android

Así que he estado intentando agregar un botón debajo de un listview en android, el problema es que el botón no aparece.

<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ListView android:id="@+id/messagelist" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="0px" android:layout_y="0px"> </ListView> <Button android:id="@+id/addbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:layout_x="0px" android:layout_y="379px"> </Button> </AbsoluteLayout> 

AbsoluteLayout está obsoleto. En su lugar, sugiero que utilice un LinearLayout:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ListView android:id="@+id/messagelist" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1"> </ListView> <Button android:id="@+id/addbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button"> </Button> </LinearLayout> 

También sugeriría leer a través de los documentos del desarrollador en las presentaciones para una buena introducción.

Hay un ejemplo de dicho diseño en la muestra "API Demos". La siguiente página enlaza con las muestras:

http://developer.android.com/resources/samples/index.html

Busque el archivo LinearLayout9.java, y su correspondiente archivo de diseño linear_layout9.xml. Por conveniencia, los he pegado aquí:

LinearLayout9.java:

 /* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.example.android.apis.view; import com.example.android.apis.R; import android.app.Activity; import android.os.Bundle; import android.widget.ListView; import android.widget.ArrayAdapter; /** * Demonstrates how the layout_weight attribute can shrink an element too big * to fit on screen. */ public class LinearLayout9 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.linear_layout_9); ListView list = (ListView) findViewById(R.id.list); list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, AutoComplete1.COUNTRIES)); } } 

Linear_layout9.xml:

 <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- Demonstrates a simple linear layout. The layout fills the screen, with the children stacked from the top. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1.0" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/linear_layout_9_button" /> </LinearLayout> 
  • Las filas Listview ordenan cambios al azar en el desplazamiento de listview en android
  • Android ListView setSelection () no parece funcionar
  • Android scroll mientras arrastra y suelta
  • Android addHeaderView desaparece cuando no hay elementos en ListView
  • Android: listview item width fill_parent no funciona
  • Implementación de 47degree android-swipelistview para desplazar android ListViewItem
  • SmoothScrollToPosition después de notifyDataSetChanged no funciona en android
  • Tratando de coger un clic en android ListView item: android: descendantFocusability = "blocksDescendants" no funciona
  • Android ListView - pequeña línea entre los elementos
  • Android ListView: texto predeterminado cuando no hay elementos
  • ¿Cómo desplazarse a la parte inferior de ListView mediante programación?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.