在一个简单的tabLayout view viewPager设置中,我无法正确地将选定的选项卡传递到其中的片段。当从左到右选择选项卡时(即Tab1->tab x),该选项卡被正确解释,但当它们从右到左选择时,返回0。
下面是重要的代码:
TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPager.setAdapter(new OwnPagerAdapter(getSupportFragmentManager(), NavDrawer.this));
tabLayout.setupWithViewPager(viewPager);
public class OwnPagerAdapter extends FragmentPagerAdapter {
private int TAB_COUNT = 7;
private String tabTitles[] = new String[] {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
private Context context;
public OwnPagerAdapter(FragmentManager fm, Context context) {
super(fm);
this.context = context;
}
@Override
public Fragment getItem(int position) {
return OwnTimetableFragment.newInstance(position - 1);
}
@Override
public int getCount() {
return TAB_COUNT;
}
@Override
public CharSequence getPageTitle(int position) {
return tabTitles[position];
}
}
public class OwnTimetableFragment extends Fragment {
public static final String ARG_DAY = "ARG_DAY";
private int mDay;
public static OwnTimetableFragment newInstance(int day) {
Bundle args = new Bundle();
args.putInt(ARG_DAY, day);
OwnTimetableFragment fragment = new OwnTimetableFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDay = getArguments().getInt(ARG_DAY);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View tabView = inflater.inflate(R.layout.fragment_own_timetable, container, false);
Log.e("mDay", mDay + "");
return tabView;
}
似乎有一些碎片进入和离开焦点可能是导致这一点的原因?
首先,在新实例中传递pos-1,因此,第一个选项卡将log显示为-1。如果您想要正确的值,只需在NewInstance中传递pos。除此之外,请确保在ViewPager中没有传递任何setOffscreenPageLimit。代码中的其他内容似乎都是正常的。让我知道你的确切问题,如果你仍然面临它。
我正在使用带有的,我想知道如何最有效地更改TabLayout中选定选项卡的图标的颜色。 谷歌的Youtube应用程序是如何实现这一点的完美参考。在主页上,有四个深灰色图标。选择特定选项卡后,选项卡图标变为白色。 没有任何第三方库,我怎样才能达到同样的效果? 一个可能的解决方案显然是用选择器。但是在这种情况下,我必须找到图标的白色和灰色版本,然后在选项卡被选中或取消选中时切换图标。我想知道是否有一个
我想将数据从父片段传递到选项卡式片段(子片段),以便传递初始数据(当父片段第一次加载时),我使用了Bundle数据。当在子片段的嵌套片段中时,我调用PopbackStack(),以便通过单击按钮返回。在那里,我需要更新之前传递到子选项卡片段的捆绑数据。捆绑数据不会得到更新的数据集 父片段-初始状态 子片段-Tab片段 孩子- 我错过了什么?请帮忙
我试图在片段中创建自定义listView,我搜索了其他问题,但找不到任何东西。我的列表适配器是这样的 我的片段类是这样的: } 问题是这部分:CustomList adapter=新CustomList(tab1.this,string,imageId);构造函数(public CustomList(活动上下文,字符串[]web,整数[]imageId))只接受活动 我怎样才能解决这个问题?
问题内容: 我是Java文盲,并且仍在尝试开发供个人使用的应用程序。我从android-studio的“ Tabbed- Activity”开始,除MainActivity中的一个片段和一个捆绑包外,其他大部分都没有改变。 这是我的代码: 主要活动 SectionsPagerAdapter 最后是 SunFragment ,我希望从MainActivity中获得捆绑的数据: 我已经按照此博客进行操
因此,我今天的梁工作以以下警告结束: /usr/local/lib/python2。7/dist包/apache_-beam/runners/dataflow/dataflow_-runner。py:800:BeamDeprecationWarning:自第一个稳定版本以来,选项已被弃用。提及。选项将不受支持 所以据我所知,与其这样做: 我将不得不谈到这一点: 但有一个问题,很多选项不再可用,例如
我试图创建一个标签,显示一个列表的左手片段和一个详细的片段在右边。当用户单击列表项时,右边的片段应该更改为适当的片段。 我是android新手,所以我使用了一个教程,我知道我需要用TabListener做一些事情:
我试图修改JavaFX8中的TabPage控件,使其向视口显示当前选定选项卡前面(右边)的一些选项卡,或者如果选定选项卡位于标题的最左边,它会显示当前选项卡前面附近的选项卡。 现在怎么样了: 我想让它表现得像: 当用户选择索引X的选项卡时,选项卡窗格标题显示附近的另外2或3个选项卡。 谢谢你的阅读。