2017-08-21 1 views
0

Wie man einen Vorsprung von viewpager zu einer Zeit lädt ??Wie man einen Tab von viewpager zu einer Zeit lädt

Ich möchte dynamische Registerkarten mit der gleichen Art von Fragmenten entwickeln. Aber das Problem ist ViewPager lädt die Registerkarte 2 zur Zeit und wenn ich einige Daten in einem Fragment ändern wird es auf jeden Bruchstücke reflektiert. enter image description here

+1

hier meine Antwort sehen, es wird Ihnen helfen, https://stackoverflow.com/a/34395229/4571925 –

Antwort

0

Sie können Überschreibung diese Methode innerhalb des Fragments, wird diese wahr zurück, wenn dieses Fragment in vor der Leinwand ist

@Override 
    public void setUserVisibleHint(boolean isVisibleToUser) { 
     super.setUserVisibleHint(isVisibleToUser); 
     if(isVisibleToUser){ 
      //You can do inside this method 
     } 
    } 

}

0

Sie yourViewPager.setOffScreenPageLimit(value) Methode verwenden können. Aber der Mindestwert der vorinstallierten Seiten ist , also mindestens Seite wird immer zwischengespeichert.

Um korrekte Daten zu Seite von viewPager setzen Sie etwas tun können:

public class YourFragment extends Fragment{ 
static final String ARGUMENT_PAGE_NUMBER = "arg_page_number"; 
int pos; 

static YourFragment newInstance(int page) { 
    YourFragment yourFragment = new YourFragment(); 
    Bundle arguments = new Bundle(); 
    arguments.putInt(ARGUMENT_PAGE_NUMBER, page); 
    yourFragment.setArguments(arguments); 
    //save fragment position 
    return yourFragment; 
} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
     pos = getArguments().getInt(ARGUMENT_PAGE_NUMBER); 
     //now you have position of this fragment 
} 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View yourView = inflater.inflate(R.layout.your_fragment_layout, container, false); 
    //use position of the fragment you received in onCreate to set up your views 
    return yourView; 
} 
+0

seine nicht funktioniert überhaupt. –

+0

siehe diese Antwort, es ist unmöglich, weniger als 2 Tabs zum Zeitpunkt https://StackOverflow.com/a/10073916/8472252 zu laden – Sc222

Verwandte Themen