Ниже приведен мой код onCreate:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "Inside Base Drawer...");
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager){
@Override
public void onTabSelected(TabLayout.Tab tab){
tabPosition = tab.getPosition();
}
});
}
И ниже приведен мой FragmentPageAdapter для макетов скользящих вкладок
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
Tab1Fragment tab1 = new Tab1Fragment();
return tab1;
case 1:
Tab1Fragment tab2 = new Tab2Fragment();
return tab2;
case 2:
Tab1Fragment tab3 = new Tab3Fragment();
return tab3;
default:
return null;
}
}
@Override
public int getCount() {
return 3;
}
}
Ниже приведен код tabFragment:
public class Tab1Fragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup viewGroup, Bundle savedInstanceState){
return inflater.inflate(R.layout.tab_activity_sheet_details_tab1, viewGroup, false);
}
}
У меня есть собственный autocompleteTextView внутри макета вкладки ( tab_activity_sheet_details_tab1 ) Ниже приведен код для того же самого:
<com.example.user.package.TabLayoutActivity.AutoCompleteAdapter.HistoryAutoCompleteTextView
android:id="@+id/history_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapCharacters"
android:imeOptions="flagNoExtractUi|actionSearch"/>
Однако я не могу получить доступ к этому элементу из TabLayoutActivity. Каков наилучший способ получить доступ к этому после раздувания представления фрагмента? И обратите внимание, что во всех трех макетах вкладок есть похожие элементы. Есть ли необходимость в отдельном адаптере, содержащем все три макета фрагментов и доступ к ним? Если да, из какого элемента жизненного цикла я могу получить к ним доступ? PS: я ищу неадаптерный доступ к фрагментам, если это возможно (возможно, с помощью "layout id")?