动态夸大文本视图;当超过2时,为某些textview设置文本不起作用

时间:2017-04-18 23:37:09

标签: android dynamic layout-inflater android-inflate

到目前为止,我还没能找到其他人。

我想要做的是动态地将文本视图扩展为线性布局并设置每个文本视图的文本。

我能够为其中一些文本视图充气并设置文本,但是当我向两个以上的文本视图进行充气时,我只能将文本设置为2。

在提供的示例中,我正在尝试对3个文本视图进行充气并设置其文本。

我相信问题是,当我试图设置textviews的文本时,它会覆盖已经有文本集的textview的文本。

我在调试时发现了这个。

下面是我正在使用的代码(它不是很漂亮,我只是觉得我会像这样显示所有数据类型等。)

for (int i = 0; i < testsList.size(); i++) {
        LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View moduleView = inflater.inflate(R.layout.tests_layout, linearLayout, false);

        linearLayout.addView(moduleView, linearLayout.getChildCount() - 1);

        TextView txtTestName = (TextView) v.findViewById(R.id.txtTestName);

        String name = testsList.get(i).getTestName();

        txtTestName.setText(name);
    }

我还附上了我正在获得的输出图像。在图像中,文本视图显示&#34; TextView&#34;是我无法设置文本的那个。它应该说&#34; test5&#34;,以及目前说&#34; test5&#34;实际上应该说&#34; test4&#34;通过调试后我意识到

This is an image of the result i am getting

如果有人能够对此有所了解,我会非常感激!

1 个答案:

答案 0 :(得分:0)

正如Mike

指出的那样

问题在于这行代码:

v.findViewById(R.id.txtTestName);

需要更改为:

moduleView.findViewById(R.id.txtTestName);