The program uses ViewPager , and from PagerFragmet you need to pass String to MainActivity .

You need to pass a String (userp2s) from MainActivity to MainActivity

The data from edittext.addTextChangedListener written to the String , and this line is written to the Activity in the database. (I’ll add code to understand)

PageFragment.java :

 public class PageFragment extends Fragment { /*...... ....... .......*/ final String LOG_TAG = "myLogs"; String selection = null; String[] selectionArgs = null; DB db; static final String ARGUMENT_PAGE_NUMBER = "arg_page_number"; int pageNumber; static PageFragment newInstance(int page) { PageFragment pageFragment = new PageFragment(); Bundle arguments = new Bundle(); arguments.putInt(ARGUMENT_PAGE_NUMBER, page); pageFragment.setArguments(arguments); return pageFragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); pageNumber = getArguments().getInt(ARGUMENT_PAGE_NUMBER); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = null; switch (pageNumber) { case 0: //-----------------------------------------Users View---------------------------------------------- view = inflater.inflate(R.layout.users, null); userp2 = (EditText) view.findViewById(R.id.user_phone_2_et); /*...... ....... .......*/ } userp2.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void afterTextChanged(Editable editable) { userp2s = "01" + userp2.getText().toString() + "%"; } }); db.close(); break; case 1: //-----------------------------------------System View---------------------------------------------- view = inflater.inflate(R.layout.system, null); /*...... ....... .......*/ break; case 2: //-----------------------------------------Input Output View---------------------------------------- /*...... ....... .......*/ break; case 3: //-----------------------------------Other text----------------------------------------------------- /*...... ....... .......*/ } break; } return view; } 

MainActivity.java :

 private int prevPage = -1; @Override public void onPageScrollStateChanged(int state) { if (state == ViewPager.SCROLL_STATE_DRAGGING) { prevPage = pager.getCurrentItem(); Log.d(TAG, "PrevPage = " + prevPage); } if (prevPage == 0) { //--------------------------------------------Users Tab--------------------------------------------- db = new DB(this); db.open(); /*.......... ........... ..........*/ db.UserSMSUpdRec(name, userp2s,/*..........*/, id); db.close(); } } 

    1 answer 1

    Transfer data using the interface. See here how to do it. Only instead of the Dialogue, use your usual fragment.

    • How to substitute it in onCreateView ? - Yura Geyts
    • in onCreateView nothing needs to be put. Initialization goes to onAttach , call onClick.onDialogClickListener(action, type); - in any right place - Jarvis_J