我是Android和Android的新手。堆栈溢出 - 如果我的问题很愚蠢,请提前道歉!
我有一个使用TabLayout / ViewPager和FragmentPagerAdapter的四个标签的简单应用程序。我可以使用硬编码字符串显示标签标题,但是当我尝试使用字符串资源设置它们时,我的代码返回字符串的索引值,而不是实际字符串,如截图所示:
这是我的FragmentPagerAdapter类的代码:
@media screen (min-width: 320px) and (max-width: 414px) {
body {
background-color: yellow;
color: white;
}
}
and
@media screen and (max-width: 600px) {
body {
background-color: red;
color: white;
}
}
有人可以帮我理解我哪里出错吗?
谢谢!
答案 0 :(得分:1)
你必须更换这一行
private String[] tabTitles = new String[]{String.valueOf(R.string.tab_title_1),String.valueOf(R.string.tab_title_2),String.valueOf(R.string.tab_title_3),String.valueOf(R.string.tab_title_4)};
这一行
private String[] tabTitles = new String[]{getString(R.string.tab_title_1),getString(R.string.tab_title_2),getString(R.string.tab_title_3),getString(R.string.tab_title_4)};
或使用
private String[] tabTitles = new String[]{getResources().getString(R.string.tab_title_1),getResources().getString(R.string.tab_title_2),getResources().getString(R.string.tab_title_3),getResources().getString(R.string.tab_title_4)};
getString()需要context
答案 1 :(得分:0)
您可以通过调用以下方法从资源值获取字符串: 。的的getContext()getResources()的getString(R.string.page1_title); 强>
和page1_title是 string.xml 文件中的字符串值: 标题示例
这是一个如何使用title:
将片段添加到ViewPagerAdapter的示例private void setupViewPager(final ViewPager viewPager){
final ViewPagerAdapter adapter = new viewPagerAdapter(getChildFragmentManager());
adapter.addFragment(Fragment1.newInstance(), getResources().getString(R.string.tab1_title));
adapter.addFragment(Fragment2.newInstance(), getResources().getString(R.string.tab2_title));
adapter.addFragment(Fragment3.newInstance(), getResources().getString(R.string.tab3_title));
viewPager.setAdapter(adapter);
}