1. jowieweb, 06.02.2012 #1
    jowieweb

    jowieweb Threadstarter Neuer Benutzer

    Hallo

    ich stehe vor einem (hoffentlich) kleinem Problem. Ich habe einen custom arrayadapter der ein listview "befüllt". Der Adapter hat für jedes Item 3 Spalten ( 3 TextViews).
    Das alles wird aus einem TabWidget, welches 3 Tabs (day1, day2 und day3) hat, herraus gestartet.
    Jeder der Tabs hat eine solche Listview mit oben beschriebenen Adapter.
    Das Anzeigen und befüllen klappt auch alles ganz gut. Jedoch weiß ich nicht wie ich den Adapter und die Listen wieder leer bekomme.

    Habe schon ein wenig herum gegoogelt und festgestellt das es eig. mit
    PHP:
            alldata = new String[0];
            
    myAdapter adapter= (myAdapterlist1.getAdapter();
            
    adapter.notifyDataSetChanged();
    gehen sollte, wobei alldata die als parameter übergebenen Daten sind.
    Leider ändert das nix. Es werden immer noch die "grade auf 0 gesetzten" Strings angezeigt.
    Ich habe leider nichts dazu gefunden was die notifyDataSetChanged Methode machen soll. Deshalb sieht sie bei mir grade so aus :
    PHP:
        @Override
        
    public void notifyDataSetChanged() {
            
    // TODO Auto-generated method stub
            
    super.notifyDataSetChanged();
        }
    Habe auch
    PHP:
            data = new String[0];
            
    alldata = new String[0];
            
    myAdapter bums = (myAdapterlist1.getAdapter();
            
    bums.clear();
            
    bums.notifyDataSetChanged();
            
    list1.setAdapter(bums);
    versucht. Leider führ das .clear() hier zu "java.lang.UnsupportedOperationException", wobei der adapter bei clear auch nur
    PHP:
        public void clear() {
            
    // TODO Auto-generated method stub
            
    super.clear();
        }
    aufruft.



    Ich hoffe ihr könnt mir helfen :)
     
  2. the_alien, 06.02.2012 #2
    the_alien

    the_alien Android-Lexikon

    Wenn du den folgenden Code ausserhalb deines Adapters aufrufst geht das natürlich nicht. Das liegt daran, dass dem Adapter eine Kopie Referenz aufs Array übergeben wurde.
    PHP:
            alldata = new String[0];
            
    myAdapter adapter= (myAdapterlist1.getAdapter();
            
    adapter.notifyDataSetChanged();
    Wenn es doch dein Adapter ist (übrigens fangen Klassen laut Konvention immer mit einem Großbuchstaben an), dann implementiere clear() selber. Setze das Array zurück in der Methode und rufe dann notifyDataSetChanged() auf.
     
  3. jowieweb, 06.02.2012 #3
    jowieweb

    jowieweb Threadstarter Neuer Benutzer

    grrr... da hätte ich auch selber drauf kommen können :D
    Vielen Dank, geht :)
     
Die Seite wird geladen...
Ähnliche Themen - clear custom arrayadapter Forum Datum
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[ERLEDIGT] Interpolator für einen Custom Dialog verwenden in einem Fragment Android App Entwicklung 20.03.2017
[ERLEDIGT] Einen schatten über einer Custom ToolBar anzeigen Android App Entwicklung 15.03.2017
Custom ActionBar (toolbar) "Bottom" schatten anzeigen Android App Entwicklung 09.03.2017
Search Custom Adapter Android App Entwicklung 02.01.2017
Custom CheckBox drawable wird nicht richtig dargestellt Android App Entwicklung 14.07.2016