我正在设计自己的标签控件。我创建了2个自定义视图。第一个称为MyTab
,派生自LinearLayout
。第二个名为MyTabBar
,来自LinearLayout
。
两者的构造函数看起来像这样:
public MyTab(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.layout_my_tab, this);
}
MyTabBar
的成员变量是ArrayList
的{{1}}。我有一个名为MyTab
的公共函数,可以向addTab(String strTabName)
添加新的MyTab
。我的问题是,当我执行以下操作时:
MyTabBar
在MyTab tab = new MyTab(...);
内,我如何获得要传递给MyTabBar
的{{1}}和Context
?
或者我应该以某种方式膨胀它?
答案 0 :(得分:2)
具有AttributeSet参数的视图构造函数仅在从xml文件中膨胀视图时使用,否则编写仅具有Context参数的构造函数,并使用super(context); 要从MyTabBar获取上下文,请使用this.getContext();