Прежде всего, я новичок в разработке для Android и буду признателен за вашу помощь.
У меня есть действие с вкладками в Android Studio, и у меня есть кнопка FloatingAction, чтобы добавить элемент в каждый фрагмент действия с вкладками. Затем эта кнопка вызывает новую Activty, и я хотел бы перейти к новой активности на вкладке Number, чтобы я мог сохранить ее в базе данных.
Как я могу получить вкладку Number, из которой было сгенерировано новое действие?
Ниже приведен код:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_portal);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
mViewPager.addOnPageChangeListener(new
TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.addOnTabSelectedListener(new
TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent startNewPostActivity = new Intent(getApplicationContext(), NewPostActivity.class);
startNewPostActivity.putExtra("Fragment_Position", position_fragment);
startActivity(startNewPostActivity);
}
});
}
Чтобы получить должность, я делал следующее:
Установка position_fragment = position;
однако это возвращает неверный номер табуляции.
открытый класс SectionsPagerAdapter расширяет FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class below).
position_fragment = position; // not good
return PlaceholderFragment.newInstance(position);
}
@Override
public int getCount() {
// Show 5 total pages.
return 5;
}
}
}