我的意图是在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进行相同操作)
这样,您应该收到两个不同的参考。