2015-04-21 18 views
8

TLDR: ecco il mio bug report: http://goo.gl/UgBFW2SwipeRefreshLayout rinfrescare conflitto con fragmentTransactions

Utilizzando un SwipeRefreshLayout se premo indietro e innescare o un getSupportFragmentManager().popBackstack(), super.onBackPressed() o fragmentTransaction.replace() destra quando l'adattatore fa scattare i panorami rinfrescano, i due frammenti si sovrappongono (un video che mostra il problema può essere trovato nel link in alto).

Ho provato diverse cose e l'aggiunta di uno sfondo non è una soluzione poiché il frammento di lista è in primo piano e quello cliccabile è il frammento precedente.

Qualcuno ha trovato una soluzione a questo?

Replacing Fragment does not work properly while swipeRefresh is running

+0

Mi sono appena imbattuto nello stesso problema ... Sai se ci sono stati progressi nella segnalazione dei bug? Hai trovato una soluzione alternativa? – Joakim

risposta

5

Aggiungere questo al frammento che contiene il colpo

@Override 
public void onPause() { 
    super.onPause(); 
    if (swipeRefreshLayout!=null) { 
     swipeRefreshLayout.setRefreshing(false); 
     swipeRefreshLayout.destroyDrawingCache(); 
     swipeRefreshLayout.clearAnimation(); 
    } 
} 
+0

C'è qualche ragione per farlo in 'onPause' invece di' onStop' metodo? –

0

Provare avvolgendo lo SwipeToRefreshLayout all'interno di una FrameLayout. Ha risolto il problema per me.

0

problema che ho Di fronte

stavo affrontando lo stesso problema in appcompat-V7: 25.1.0. ho provato tutti questi codici di sotto ancora il problema persiste

@Override 
public void onPause() { 
    super.onPause(); 
    if (swipeRefreshLayout!=null) { 
     swipeRefreshLayout.setRefreshing(false); 
     swipeRefreshLayout.destroyDrawingCache(); 
     swipeRefreshLayout.clearAnimation(); 
    } 
} 

Soluzione

Se uno di fronte lo stesso problema Si prega di downgrade appcompat a 25.0.1 e utilizzare il frammento di codice per fermare l'animazione stessa . Sta funzionando bene per me

Problemi correlati