2016-08-17 5 views
0

Ich habe eine Anwendung, die Daten aus einer Datenbank in einer Listenansicht anzeigt, wenn ein Element in der Listenansicht auf eine Aktivität öffnet und mehr Daten zu diesem bestimmten Element anzeigt, einschließlich der Möglichkeit zu löschen es. Wenn es gelöscht wird, wird das erste Fragment aus dem Backstack herausgeholt. Die Listenansicht wird jedoch nicht aktualisiert, um die Löschung anzuzeigen. Wie kann ich das Fragment aktualisieren, wenn es vom Backstack abgerufen wird?Android Fragment aktualisieren auf der Rückseite drücken

die Aktivität Fragmente hat dies in den onBackPressed

@Override 
    public void onBackPressed() { 
     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     if (fragmentManager.getBackStackEntryCount() != 0) { 
      fragmentManager.popBackStack(); 
     } 
     else if (drawer.isDrawerOpen(GravityCompat.START)) { 
      drawer.closeDrawer(GravityCompat.START); 
     } else { 
      super.onBackPressed(); 
     } 
    } 
+0

Sie außer Kraft setzen können, ist es 'onResume()' Methode und die Liste dort zu aktualisieren, indem Aufruf 'notifyDataSetChanged()', wenn Sie irgendeine Art von 'ListAdapter' oder etwas haben. Probieren Sie es aus und sehen Sie, ob es funktioniert. – Vucko

+0

http://stackoverflow.com/questions/26606527/android-refresh-a-fragment-list-from-its-parent-aktivität – ViramP

Antwort

2

Update Ihren Listview-Adapter

@Override 
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
super.onViewCreated(view, savedInstanceState); 
if (listAdaptor != null){ 
    listAdaptor.notifyDataSetChanged(); 
} 
} 
+1

Wenn Sie es nützlich finden, die Antwort zu akzeptieren – Don

+0

Sorry, was mache ich damit? – user6548194

0

diesen listner in Ihre in Ihrer Tätigkeit.

es wird aufgerufen, um onresume bei Änderung im backstack zu fragmentieren. Machen Sie Ihre Arbeit in einem Fragment Ihres Fragments. Hinweis: Vergessen Sie nicht, das Anzeigenfragment in den Backstack zu verschieben.

Dank

Verwandte Themen