ActionBar.Tablistener устарел
Я пытаюсь построить представление вкладок с использованием фрагмента активности и actionbar.tablistener
, Я сослался на учебник для других людей и делаю его, однако он не поддерживается и не запускается успешно. Затем я изменил на AppComBatActivity, и оно не работает, покажите ошибку группы просмотра, которую я не знаю почему. Затем я перешел на ActionBarActivity, наконец-то это сработало, но, как бы я ни редактировал свою вкладку, в java-классе и в xml тоже ничего не отображается. я имею actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS)
также не рекомендуется.
Я приложил свой код следующим образом...
fragmentmenu.class
public class FragmentMenu extends FragmentActivity implements ActionBar.TabListener {
ActionBar actionBar;
ViewPager viewPager;
FragmentPageAdapter ft;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_menu);
viewPager = (ViewPager)findViewById(R.id.pager);
ft = new FragmentPageAdapter(getSupportFragmentManager());
actionBar = getActionBar();
viewPager.setAdapter(ft);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.addTab(actionBar.newTab().setText("Menu").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Report").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Setting").setTabListener(this));
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
}
}
</code>
FragmentPagerAdapter
<code>
public class FragmentPageAdapter extends FragmentPagerAdapter {
public FragmentPageAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return new MyActivity();
case 1:
return new Report();
case 2:
return new Setting();
}
return null;
}
@Override
public int getCount() {
return 3;
}
}
</code>
One of the fragment
<code>
public class Report extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.report, container, false);
}
}
}}
Пожалуйста помоги!
1 ответ
ActionBar.Tablistener устарел. Вы должны использовать вместо этого TabLayout.
Проверьте этот учебник для получения дополнительной информации: http://www.androidhive.info/2015/09/android-material-design-working-with-tabs/