Liste mit ListViews richtig anzeigen

  • 8 Antworten
  • Letztes Antwortdatum
akra

akra

Ambitioniertes Mitglied
6
Guten Abend!
ich versuche eine Activity zubauen welche scrollbar ist und eine Liste mit ListViews enthällt, leider wird das nicht so angezeigt wie es soll, kann mir vielleicht jemand ein Tipp geben was ich falsch mache? ich vermute ich muss iwo an richtigem Ort "wrap_content" setzen
mein Activity code:


Code:
public class showThings extends Activity {
	List<String> kategorieListe = new ArrayList<String>();
	@Override
	  protected void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
	    loadKategorie();
	    setContentView(R.layout.body_parts_show_exercises);
	    
	    
	    View linearLayout =  findViewById(R.id.LinearLayout_show_things);
	    Iterator<String> iterator = kategorieListe.iterator();
	    
	    while (iterator.hasNext()) {
	    	TextView tmpTextView = new TextView(this);
	    	tmpTextView.setText(iterator.next());
	    	tmpTextView.setBackgroundResource(R.color.Background);
	    	((LinearLayout) linearLayout).addView(tmpTextView);
	    	
//kategorie hinzugefügt
	    	
	    	
	    	List<String> aulistung = loadAuflistung();
	    	
	    	ListView listView = new ListView(this);
	    	ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
	    	        android.R.layout.simple_expandable_list_item_1, aulistung);
	    	listView.setAdapter(adapter);

	    	((LinearLayout) linearLayout).addView(listView);
		}
	  }

	private List<String> loadAuflistung() {
		List<String> auflistung = new ArrayList<String>();
		auflistung.add("eins:");
		auflistung.add("zwei:");
		auflistung.add("drei:");
		auflistung.add("vier");
		return auflistung;
	}
	
	private void loadKategorie() {
		kategorieListe.add("Kategorie eins:");
		kategorieListe.add("Kategorie zwei:");
		kategorieListe.add("Kategorie drei:");
                      //...
	}
}
(ist nur zum testen da, die Elemente werden später aus DB geladen, deshalb ist es "unbekannt" wieviele Elemente es geben wird)

Problem:
die "kategorien" eins,zwei,drei werden angezeigt, unter diesen sollen jeweils eine Liste sein, leider wird die Liste nicht komplett angezeigt
könnte mir jemand einen Tipp geben was ich übersehe?

Vielen Dank im voraus


mfg akra
 

Anhänge

  • screen.PNG
    screen.PNG
    34,2 KB · Aufrufe: 248
Poste doch mal den Layout-Code ;)

Hast du alles mit ScrollView eingepackt?
 
hier der layoutcode

Code:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:id="@+id/LinearLayout_show_things"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill"
        android:gravity="fill"
        android:orientation="vertical" >

    </LinearLayout>

</ScrollView>
 
Das Problem hier ist, dass du ListViews innerhalb einer ScrollView benutzt. Und das geht so ohne weiteres nicht.
Weil ListView eine eigene Scroll Funktion hat, stehen die in Konflikt mit der ScrollView und alles geht den Bach runter :p

Hier steht aber, wie es geht:
Ore Ni Makasero: Android: put ListView in a ScrollView
 
  • Danke
Reaktionen: akra
hmm danke!
es rechnet noch etwas zuviel für die größe aber sieht schon mal besser aus xD
 
ja das ist sogar besser!
 
Wenn du dazu noch fragen hast, kann ich gerne versuchen die zu beantworten.
Hab die ExpandableListView selber in meiner App verwendet
 
Hmm danke für deine hilfe und den vorschlag!
kann jetzt testweise paar sachen aus meiner DB in Expandable List anzeigen, evnt komme ich später zurück wenn ich beim "schöner machen" probleme bekomme
 
Zurück
Oben Unten