我有一个使用setContentView(R.layout.activityA)方法设置布局的A活动。 activityA布局包含customView。我的customView有一堆setter和getter。如何从A活动中访问它们?当我在acitivity A中创建一个customView实例时,它可以工作,但是customView创建了两次:一次是从setContentView创建的,第二次是我创建它的新实例。有没有其他方法来访问这些方法?请指教。感谢。
答案 0 :(得分:5)
您是否在Activity的代码中尝试过类似的内容:
@Override
public void onCreate(Bundle state){
super.onCreate(state);
setContentView(R.layout.activityA);
CustomView customView = (CustomView)findViewById(R.id.customviewId);
Something x = customView.someGetterMethodX();
...etc...
}
答案 1 :(得分:1)
您可以使用Java Reflection来读取属性和调用方法。
答案 2 :(得分:1)
您不必创建两次,只需查找自定义视图ID并将其分配给CustomView参考。像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.theLayout);
CustomView customView = (CustomView) findViewById(R.id.customViewId);
customView.setSomething(someValue);
}