I have two fragments on a view pager. I once had to move data from fragment B to A and refresh the data displayed on A and I did it with getItemPosition. For some reason, the same method doesn't work when I try to reset all data..
In my adapter i have :
public void refresh() { notifyDataSetChanged(); } @Override public int getItemPosition( Object obj ) { return POSITION_NONE; } in fragment where I click 'reset' :
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); notTriedPasswordsList = PagerActivity.mainList; ..... .... resetButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick( View v ) { PagerActivity.resetPasswords(); PagerActivity.viewPagerAdapter.refresh(); }}); viewPager activity hosting both fragments:
public static void resetPasswords() { mainList.addAll( 0, historyList ); historyList.clear(); PagerActivity.viewPagerAdapter.refresh(); } Main fragment where the pass is displayed :
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState ) { View view = inflater.inflate(R.layout.fragment_main, container, false); ..... nextCodeDisplay = ( TextView ) view.findViewById( R.id.passwordDisplayTextView ); nextCodeDisplay.setText( notTriedPasswordsList.get( 0 ).getPasswordString() ); .... nextButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { notTriedPasswordsList.remove( 0 ); if( notTriedPasswordsList.size() > 0 && !(notTriedPasswordsList.get( 0 ).getTried()) ) { nextCodeDisplay.setText( notTriedPasswordsList.get( 0 ).getPasswordString() ); } }