У меня есть действие A, которое использует метод setContentView(R.layout.activityA) для установки макета. Макет ActivityA состоит из customView. В моем customView есть куча сеттеров и геттеров. Как я могу получить к ним доступ из действия A? Когда я создаю экземпляр customView в acitivity A, он работает, но customView создается дважды: один раз из setContentView и второй раз, когда я создаю новый его экземпляр. Есть ли другой способ доступа к этому методу? Пожалуйста, порекомендуйте. Спасибо.
Доступ к методам установки и получения
Ответы (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
Спасибо за простое и рабочее решение. Я слишком много думаю о проблеме.
- 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