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