我有一个片段,你实际上有3页,你可以滑动。 在每个页面上你都有一个像这样的默认字符串" Hello World from section:%1 $ d"以字符串形式保存。 xml"
片段java类方法如下所示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_generaldiscription, container, false);
TextView textView = (TextView) rootView.findViewById(R.id.section_label);
textView.setText(getString(R.string.section_format, getArguments().getInt(ARG_SECTION_NUMBER)));
textView.setText("test"); // testing purposes
return rootView;
}
}
我的问题是:我不希望每个页面都有相同的文字。第1节有"你好世界的部分:1" ,第2节有" Hello world from section:2"
我希望第1部分有一个不同的字符串,如"你好,这是你片段的第1部分。"如何在片段中的不同部分添加以显示不同的字符串?
谢谢。
答案 0 :(得分:2)
处理屁股似乎很痛苦。
我喜欢使用Cheesesquare代替。要添加您只需要的页面:adapter.addFragment(new CheeseListFragment(), "Category 1");
,并在片段类
答案 1 :(得分:1)
我认为在每一页上你都得到了#34; Hello world from section:1"如果你在第2节页面上添加另一个文本,它会将两个文本重叠在一起。 我遇到了这个问题,然后我用android:background =" #ffffff"在布局中,如果您想在背景中设置其他颜色或图像,则第1部分文本会因背景颜色而变为白色。 然后第2部分将仅显示" Hello world from section:2"通过xml设置它。 这不是完美的解决方案,但它对我有用。
答案 2 :(得分:1)
似乎你需要一个变量来显示不同的字符串。这就是strings.xml无法工作的原因。
这是我的解决方案
步骤1:
自定义构造函数,其中包含一个String对象来描述textview
步骤2:
在FragmentAdapter类中使用不同的字符串初始化三个片段对象
第三步: 测试它是否可以工作
嗯。代码有点乏味,我写这里并不值得。只是试试,你可以得到它:)。