Доступ к методам установки и получения

У меня есть действие A, которое использует метод setContentView(R.layout.activityA) для установки макета. Макет ActivityA состоит из customView. В моем customView есть куча сеттеров и геттеров. Как я могу получить к ним доступ из действия A? Когда я создаю экземпляр customView в acitivity A, он работает, но customView создается дважды: один раз из setContentView и второй раз, когда я создаю новый его экземпляр. Есть ли другой способ доступа к этому методу? Пожалуйста, порекомендуйте. Спасибо.


person Marcin S.    schedule 04.09.2012    source источник


Ответы (3)


Вы пробовали что-то подобное в коде своей деятельности:

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

}
person newbyca    schedule 04.09.2012
comment
Спасибо за простое и рабочее решение. Я слишком много думаю о проблеме. - person Marcin S.; 05.09.2012

Вы можете использовать Java Reflection для чтения атрибутов и вызовов методов. .

person Karl-Bjørnar Øie    schedule 04.09.2012

Вам не нужно создавать его дважды, просто найдите свой идентификатор пользовательского представления и назначьте его ссылке CustomView. Что-то вроде этого:

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.theLayout);

 CustomView customView = (CustomView) findViewById(R.id.customViewId);

customView.setSomething(someValue);

}
person Victor de Francisco Domingo    schedule 04.09.2012