I have a ViewPager. Data is stored in the database. I want update it dynamically. It is necessary that the element disappears immediately, but it does not work. Data is updated after i called method onCreate. I try all advice, but it does not help. What i did wrong? Help me find a solution, please.
TextPagerAdapter.java
public class TextPagerAdapter extends FragmentStatePagerAdapter {
List<String> data;
public TextPagerAdapter(FragmentManager fm, List<String> data) {
    super(fm);
    this.data = data;
}
@Override
public Fragment getItem(int i) {
    Fragment fragment = new ItemFragment();
    Bundle args = new Bundle();
    args.putString(ItemFragment.ARG_TEXT, data.get(i));
    args.putInt(ItemFragment.ARG_POSITION, i+1);
    args.putInt(ItemFragment.ARG_COUNT, getCount());
    fragment.setArguments(args);
    return fragment;
}
@Override
public int getCount() {
    return data.size();
}
public String getTextVP(int i) {
    return data.get(i);
}
@Override
public CharSequence getPageTitle(int position) {
    return "Item " + (position + 1);
}
@Override
public int getItemPosition(Object object) {
    return POSITION_NONE;
}
}
ItemFragment.java
public class ItemFragment extends Fragment {
public static final String ARG_TEXT = "item_text";
public static final String ARG_POSITION = "item_position";
public static final String ARG_COUNT = "item_count";
TextView text1, textCount;
@Override
public View onCreateView(LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(
            R.layout.fragment, container, false);
    Bundle args = getArguments();
    text1 = (TextView) rootView.findViewById(R.id.text1);
    text1.setText(args.getString(ARG_TEXT));
    textCount = (TextView) rootView.findViewById(R.id.txtCount);
    textCount.setText(args.getInt(ARG_POSITION) + " / " + args.getInt(ARG_COUNT));
    return rootView;
}
}
StartAppScreen.java
public class StartAppScreen extends AppCompatActivity implements View.OnClickListener {
private DatabaseHelper mDBHelper;
private SQLiteDatabase mDb;
ViewPager mViewPager;
TextPagerAdapter mTextPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.patters_layout);
    List<String> data = new ArrayList<>();
    mDBHelper = new DatabaseHelper(this);
    init();
    Intent intent = getIntent();
    String condition = intent.getStringExtra("condition");
    String column = intent.getStringExtra("column");
    Boolean allWords = intent.getBooleanExtra("allWords", false);
    data.addAll(getDataFromTable(mDb, column, condition, allWords));
    if (allWords) Collections.shuffle(data);
    mTextPagerAdapter = new TextPagerAdapter(
            getSupportFragmentManager(), data);
    mViewPager.setAdapter(mTextPagerAdapter);
}
@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btnDel:
            String s = mTextPagerAdapter.getTextVP(mViewPager.getCurrentItem());
            /*Delete data from db*/
            mDb.delete(TABLE_NAME, WORD_ROW_NAME + "= ?", new String[] {s} );
            /*It is not work*/
            mTextPagerAdapter.notifyDataSetChanged();
            break;
    }
}
private void init() {
    try {
        mDBHelper.updateDataBase();
    } catch (IOException mIOException) {
        throw new Error("UnableToUpdateDatabase");
    }
    try {
        mDb = mDBHelper.getWritableDatabase();
    } catch (SQLException mSQLException) {
        throw mSQLException;
    }
    Button btnAdd = (Button) findViewById(R.id.btnAdd);
    btnAdd.setOnClickListener(this);
    Button btnDel = (Button) findViewById(R.id.btnDel);
    btnDel.setOnClickListener(this);
    mViewPager = (ViewPager) findViewById(R.id.pager);
}
}
 
     
    