我的意图是在LinearLayout上膨胀同一视图的许多实例,然后相应地修改其视图。但是,每当我多次放大视图时,总是总是以相同的引用引用第一个放大的视图。

简化示例:

    View v = getActivity().getLayoutInflater().inflate(R.layout.inflatable_layout,rootLinearLayout,true);
    TextView t = (TextView) v.findViewById(R.id.text1);
    t.setText("Foo");
    View v2 = getActivity().getLayoutInflater().inflate(R.layout.inflatable_layout,rootLinearLayout,true);
    TextView t2 = (TextView) v2.findViewById(R.id.text1);
    t2.setText("Bar");


通过这样做,我最终得到了两个夸张的视图。但是,第一个视图的TextView包含“ Bar”,第二个视图未更改。

有没有办法能够保持对我个人的观点的参考?

最佳答案

要解决您的问题,只需更改:

View v = inflater.inflate(R.layout.inflatable_layout,rootLinearLayout,true);




View v = inflater.inflate(R.layout.inflatable_layout,rootLinearLayout,false);
rootLinearLayout.addView(v1);


请注意,您现在必须手动将视图添加到布局中。

(对v2进行相同操作)

这样,您应该收到两个不同的参考。

10-05 23:10