访问setter和getters方法

时间:2012-09-04 19:41:42

标签: android android-custom-view

我有一个使用setContentView(R.layout.activityA)方法设置布局的A活动。 activityA布局包含customView。我的customView有一堆setter和getter。如何从A活动中访问它们?当我在acitivity A中创建一个customView实例时,它可以工作,但是customView创建了两次:一次是从setContentView创建的,第二次是我创建它的新实例。有没有其他方法来访问这些方法?请指教。感谢。

3 个答案:

答案 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);

}