更改片段中的TextView内容

时间:2017-04-16 13:46:13

标签: android fragment

我有一个片段,你实际上有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部分。"如何在片段中的不同部分添加以显示不同的字符串?

谢谢。

3 个答案:

答案 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类中使用不同的字符串初始化三个片段对象

第三步: 测试它是否可以工作

嗯。代码有点乏味,我写这里并不值得。只是试试,你可以得到它:)。