0

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

4

3 回答 3

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...

}
于 2012-09-04T19:46:04.607 回答
1

您可以使用Java 反射来读取属性和调用方法。

于 2012-09-04T19:48:45.467 回答
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);

}
于 2012-09-04T19:58:36.513 回答