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>
- Disposición personalizada de Android para listview
- OnItemCLickListener no funciona en listview
- Cómo cargar el ListView "sin problemas" en android
- Saltar un getView en Android
- ListSelector en ListView no funciona
- El ListView de fondo se vuelve negro al desplazarse
- añadir elementos en la parte superior de la vista de lista android
- Seleccionar todos los elementos de ListView
- La lista muestra el color negro
- Androide. RadioButtons en un ListView
- Using setOnItemClickListener para los elementos de listview
- ¿Cómo actualizar ListView en caso de uso CursorAdapter?
- Android ListView con botón de eliminación
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>