我有一个像这样的超类:
public class SuperClass extends Activity
和一个儿童班
public class ChildClass extends SuperClass
SuperClass 包含一个设置布局的函数
public void setTabBar(String layout){
inflater.inflate(...., ...);
}
我的子类和超类中唯一不同的是布局。那么回到我的问题:
无论如何我可以向超类方法发送一个字符串setTabBar("name of the layout")
;然后指定布局。我试过这个:
public void setTabBar(String layout) {
int layoutFromString = Integer.parseInt("R.layout."+layout);
inflater.inflate(layoutFromString, null);
}
但这似乎不起作用。有任何想法吗?
编辑
如前所述,我试过这个:
public void setTabBar(int id) {
inflater.inflate(id, null);
}
这将适用于超类,但是当我像这样从子类调用函数时:
public class TestClass extends SuperClass{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTabBar(R.layout.test);
}
}
LogCat 只输出这个:
07-23 13:57:15.775: E/AndroidRuntime(7329): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)