mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2024-12-15 05:11:08 +01:00
update notify on dataset change
This commit is contained in:
parent
b8865e925d
commit
cf3e53eb71
@ -44,27 +44,20 @@ public class TabAdaptor extends FragmentPagerAdapter {
|
||||
public void addFragment(Fragment fragment, String title) {
|
||||
mFragmentList.add(fragment);
|
||||
mFragmentTitleList.add(title);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void clearAllItems() {
|
||||
mFragmentList.clear();
|
||||
mFragmentTitleList.clear();
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void removeItem(int position){
|
||||
mFragmentList.remove(position == 0 ? 0 : position - 1);
|
||||
mFragmentTitleList.remove(position == 0 ? 0 : position - 1);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void updateItem(int position, Fragment fragment){
|
||||
mFragmentList.set(position, fragment);
|
||||
// shift the ID returned by getItemId outside the range of all previous fragments
|
||||
// https://stackoverflow.com/questions/10396321/remove-fragment-page-from-viewpager-in-android
|
||||
baseId += getCount() + 1;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void updateItem(String title, Fragment fragment){
|
||||
@ -79,4 +72,20 @@ public class TabAdaptor extends FragmentPagerAdapter {
|
||||
if (mFragmentList.contains(object)) return mFragmentList.indexOf(object);
|
||||
else return POSITION_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Notify that the position of a fragment has been changed.
|
||||
* Create a new ID for each position to force recreation of the fragment
|
||||
* @param n number of items which have been changed
|
||||
*/
|
||||
public void notifyChangeInPosition(int n) {
|
||||
// shift the ID returned by getItemId outside the range of all previous fragments
|
||||
// https://stackoverflow.com/questions/10396321/remove-fragment-page-from-viewpager-in-android
|
||||
baseId += getCount() + n;
|
||||
}
|
||||
|
||||
public void notifyDataSetUpdate(){
|
||||
notifyChangeInPosition(1);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
@ -819,6 +819,8 @@ public class VideoDetailFragment
|
||||
pageAdapter.addFragment(new Fragment(), RELATED_TAB_TAG);
|
||||
}
|
||||
|
||||
pageAdapter.notifyDataSetUpdate();
|
||||
|
||||
if(pageAdapter.getCount() < 2){
|
||||
tabLayout.setVisibility(View.GONE);
|
||||
}else{
|
||||
@ -1083,6 +1085,7 @@ public class VideoDetailFragment
|
||||
|
||||
if(showRelatedStreams){
|
||||
pageAdapter.updateItem(RELATED_TAB_TAG, RelatedVideosFragment.getInstance(currentInfo));
|
||||
pageAdapter.notifyDataSetUpdate();
|
||||
}
|
||||
|
||||
pushToStack(serviceId, url, name);
|
||||
|
Loading…
Reference in New Issue
Block a user