例如,我可能在 R.Layout.activity_main ,
但是当我 onCreate 我的活动时,我想在另一个布局中更改 TextView,所以我会从该布局创建一个 TextView 对象和 findViewById,然后更改它。
但这将不起作用,除非我将我的 contentview 设置为该布局,但是是否可以在该布局中设置 TextView,而不必将 setContentView 设置为该布局?
例如,我可能在 R.Layout.activity_main ,
但是当我 onCreate 我的活动时,我想在另一个布局中更改 TextView,所以我会从该布局创建一个 TextView 对象和 findViewById,然后更改它。
但这将不起作用,除非我将我的 contentview 设置为该布局,但是是否可以在该布局中设置 TextView,而不必将 setContentView 设置为该布局?
这并不适用于所有情况,但您可以尝试LayoutInflator
.
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.your_layout, null);
然后要在该布局中查找视图,只需执行...
layout.findViewById(R.id.your_view);
最好在创建父布局时将所需视图的引用作为变量存储在类中。然后在需要时更改它的属性。
您可以在这两个问题中看到更多详细信息: