Android: ListView no muestra ningún resultado

He incluido mi código para ayudar a aclarar las cosas. Básicamente tengo dos pantallas en mi aplicación, una mostrará una lista, y la otra permitirá al usuario añadir un nuevo elemento a esa lista. Finalmente, incorporaré datos de base de datos para guardar la vista de lista, pero no necesito ayuda con eso. Todavía no he codificado la segunda pantalla, por lo que no he incluido el código para ello.

El problema es que no puedo obtener la vista de lista para mostrar. Incluso he intentado agregar datos a la matriz a través de código, sin suerte. ¿Puede alguien ver un problema aquí?

Issues.java

public class Issues extends Activity { public static ArrayList<String> strArray; public static ArrayAdapter<String> arrayAdapter; public static ListView serieslistview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.issues); strArray = new ArrayList<String>(); Button btaddnewseries = (Button) findViewById(R.id.button1); serieslistview = (ListView) findViewById(R.id.listView1); //opens the add new series menu btaddnewseries.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent myIntent = new Intent(ComicIssues.this, AddSeries.class); Issues.this.startActivity(myIntent); } }); strArray.add("Item One"); arrayAdapter = new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, strArray); serieslistview.setAdapter(arrayAdapter); arrayAdapter.notifyDataSetChanged(); } 

issues.xml

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="+" tools:ignore="HardcodedText" /> <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/button1" android:layout_marginTop="30dp" > </ListView> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button1" android:layout_alignBottom="@+id/button1" android:layout_alignParentLeft="true" android:layout_marginLeft="21dp" android:text="Issues" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout> 

En realidad, no veo ningún problema en su código. Te daré dos cosas que he notado.

1) En vez de enumerar sus datos en un ArrayList utilice la String[]

2) No tiene que llamar a notifyDataSetChanged() cuando da al adapter los datos de entrada. Sólo cuando cambia la lista de datos más tarde. Así que en lugar de volver a inicializar el adaptador, simplemente llame a notifyDataSetChanged

Pruebe este código y háganme saber si todavía tiene un problema.

 public class Issues extends Activity { public static ArrayAdapter<String> arrayAdapter; public static ListView serieslistview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.issues); Button btaddnewseries = (Button) findViewById(R.id.button1); serieslistview = (ListView) findViewById(R.id.listView1); //opens the add new series menu btaddnewseries.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent myIntent = new Intent(ComicIssues.this, AddSeries.class); Issues.this.startActivity(myIntent); } }); String[] values = new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }; arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1,values); serieslistview.setAdapter(arrayAdapter); } 

Y usa este .xml en lugar del tuyo

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="+" tools:ignore="HardcodedText" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button1" android:layout_alignParentLeft="true" android:text="Issues" android:textAppearance="?android:attr/textAppearanceLarge" /> <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_below="@+id/textView1" /> </RelativeLayout> 
  • Html a xml (análisis sintáctico)
  • ¿Cuál es la diferencia exacta entre gravedad y layout_gravity
  • Resaltar los elementos seleccionados en ListFragment (MultiChoiceModeListener)?
  • Actualizando a Android Studio 3.0 Canary 5 causando "IllegalArgumentException: AppCompat no admite las características del tema actual .."
  • Android Studio 2.2.3: Error al ejecutar la aplicación: Actividad predeterminada no encontrada
  • La imagen VectorDrawable se pixeliza
  • Cómo generar simple-xml java objeto anotado desde el esquema xsd
  • Cambiar el ancho de AutoCompleteTextView en Android
  • La aplicación de conversión de Android se bloquea en convertir
  • Disposición de Android: coloca una vista entre dos vistas
  • Error de xml de la gaveta de la navegación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.