Android: BaseAdapter no muestra elementos

La aplicación que estoy luchando para hacer tiene una lista simple y un botón presente en el fondo no importa qué. Mi problema es que mi BaseAdapter personalizado no muestra elementos. Sé que ya que mis elementos son sólo una cadena que podría utilizar un ArrayAdapter, pero la asignación lo requiere. El código:

class ListaOrase extends BaseAdapter{ private Activity context; ArrayList<String> orase; public ListaOrase(Activity context){ this.context=context; orase=new ArrayList<String>(); } public void add(String string){ orase.add(string); } public int getCount() { // TODO Auto-generated method stub return 0; } public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } public View getView (int position, View convertView, ViewGroup list) { View element; if (convertView == null) { LayoutInflater inflater = context.getLayoutInflater(); element = inflater.inflate(R.layout.lista, null); } else element = convertView; TextView elementLista=(TextView)element.findViewById(R.id.elementLista); elementLista.setText(orase.get(position)); return element; } } public class WeatherAppActivity extends ListActivity { Button buton; ListaOrase lista; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); lista=new ListaOrase(this); buton=(Button)findViewById(R.id.buton); setListAdapter(lista); lista.add("Bucuresti"); lista.add("Sibiu"); } } 

Mis archivos XML van así:

 main.xml -- for the Activity <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@android:id/list" android:layout_alignParentTop="true"/> <RelativeLayout android:id="@+id/relative" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true"> <Button android:id="@+id/buton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="add" android:text="Add" android:layout_gravity="" /> </RelativeLayout> </RelativeLayout> lista.xml -- for the list <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/elementLista" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 

El botón "abajo" abre un diálogo que añade elementos a mi lista. Obviamente no funciona, pero creo que es el BaseAdapter (ListaOrase) en sí mismo, ya que los intentos no lanzan excepciones. Estaría agradecido si los artículos que codifiqué encendido aparecerían (Bucuresti y Sibiu).

¿Qué estoy haciendo mal? ¡Muchas gracias! 🙂

Su problema de código casi perfecto es devolver orase.size () en el método getcount (), está devolviendo 0, agregar métodos no implementados en la clase ListaOrase. Su ListaOrase debería ser así:

 class ListaOrase extends BaseAdapter{ private Activity context; ArrayList<String> orase; public ListaOrase(Activity context){ this.context=context; orase=new ArrayList<String>(); } public void add(String string){ orase.add(string); } public View getView (int position, View convertView, ViewGroup list) { View element; if (convertView == null) { LayoutInflater inflater = context.getLayoutInflater(); element = inflater.inflate(R.layout.lista, null); } else element = convertView; TextView elementLista=(TextView)element.findViewById(R.id.elementLista); elementLista.setText(orase.get(position)); Log.e("",orase.get(position)); return element; } public int getCount() { // TODO Auto-generated method stub return orase.size(); } public Object getItem(int position) { // TODO Auto-generated method stub return null; } public long getItemId(int position) { // TODO Auto-generated method stub return 0; } } 

espero que esto ayude

getCount método getCount realmente devolvía 0 de manera que getView() no estaba siendo llamado. Cuando cambié a:

 getcount() { return arrayObject.Size(); } 
  • ¿Cómo es posible tener feeds de diferentes Urls en el mismo ListView
  • Rendimiento lento en la vista de lista
  • Listview en SwipeRefreshLayout - no muestra nada cuando el adaptador personalizado tiene sólo una fila para mostrar
  • En Android, ¿cómo lograr un efecto de snap en un listview respetando la aceleración causada por fling?
  • Establecer LayoutParams de ListView cuando se utiliza DrawerLayout con fragmentos
  • Listview - Pie de página en la parte inferior de la pantalla
  • ListView Sombra de artículo + selector personalizado
  • Android ListView Edge Fading funciona en un dispositivo virtual 2.2 pero no en Samsung 2.2.1
  • ListView OnItemLongClickListener () no activado
  • Cómo poner listview dentro de un fragmento
  • Por qué no puedo bloquear DrawerLayout con gravedad de diseño
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.