2017-03-01 7 views
0

In Meine Apps habe ich eine Registerkartenaktivität erstellt, die aus 2 Registerkarten besteht. Was ich mache, ist das Hinzufügen neuer Daten zu meiner Datenbank über das Symbolleistenmenü. Was ich wissen möchte, ist, wie Sie die ListView aktualisieren, die auf meiner ersten Fragmentseite gefunden wurden. In meiner ersten Fragmentseite habe ich bereits eine Methode namens performServerQuery(), die den Adapter zurücksetzen und meinen Adapter mit neuen Daten füllen. Was ich mir vorstellen kann ist, die performServerQuery() von meinem MainActivity aufrufen, aber es sagt nicht, die Methode adapter.clear() auf eine Null-Objekt-Referenz aufzurufen. Gibt es eine andere Möglichkeit, die ListView von meiner Fragmentseite direkt von meiner Hauptaktivität zu aktualisieren?So aktualisieren Sie die ListView von FragmentPage von MainActivity

Edit: es gibt so viele gleiche Fragen zu Stackoverflow, die meisten von ihnen sind mit Broadcast. Kann ich es tun, ohne Broadcast zu senden?

+0

OnTabSelectedListener zu onPageSelected Methode hinzufügen viewpager.getAdapter() zu setzen. NotifyDataSetChanged (); – Joy

+0

Was meinen Sie mit "OnTabSelectedListener zu OnPageSelected Methode"? Entschuldigung, ich bin neu bei Android – VincentTheonardo

+0

Sind Sie Change Tab diesmal nicht aktualisieren Sie Ihre Daten richtig? – Joy

Antwort

0

Fügen Sie diese Zeile in Ihrer customAdapter

public int getItemPosition(Object object) { 
    return POSITION_NONE; 
} 

Und addOnPageChangeListener Sehen Sie wie diesen Aufruf

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(int position) { 
      vpFrames.getAdapter().notifyDataSetChanged(); 
     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 

     } 
    }); 
Verwandte Themen