Это код, с которым я сейчас имею дело - нам дали его во время урока, и я не совсем понял его, и я пытаюсь сделать это и добавить некоторые функции - вот почему я здесь.
MAIN ACTIVITY:
ViewPager viewPager = findViewById(R.id.viewPager);
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), MainActivity.this);
viewPager.setAdapter(adapter);
TabLayout tab = findViewById(R.id.tabLayout);
tab.setupWithViewPager(viewPager);
Это мой основной класс активности, который связан с activity_main.xml. Это все в методе onCreate.
Я использую FragmentAdapter с viewPager, таким образом принимая его параметры, например. Строка tabTitle [].
Класс Fragment использует другой файл .xml, layout_page.
Класс FragmentAdapter выглядит следующим образом:
public class FragmentAdapter extends FragmentPagerAdapter {
final int PAGE_COUNT = 3;
private String tabTitle[] = new String[] {"TAB1", "TAB2", "TAB3"};
private Context context;
public FragmentAdapter(FragmentManager fm, Context context) {
super(fm);
this.context = context;
}
@Override
public Fragment getItem(int i) {
return PageFragment.newInstance(i);
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return tabTitle[position];
}
}
Фактический класс PageFragment:
public class PageFragment extends Fragment {
public static final String ARG_PAGE="ARG_PAGE";
private int page;
public static PageFragment newInstance(int page) {
Bundle args = new Bundle();
args.putInt(ARG_PAGE, page);
PageFragment fragment = new PageFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
page = getArguments().getInt(ARG_PAGE);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_page, container, false);
TextView textView = view.findViewById(R.id.textView);
textView.setText("Fragment " + page);
return view;
}
}
Я хочу добавить кнопку для фрагмента 0 (TAB 1) и EditText и, используя onclicklistener, сохранить данные в текстовом поле, открыть новую вкладку (фрагмент) и перенести туда данные. Они все в одной деятельности.
Как я мог пойти об этом?