Допустим, у меня есть два разных типа RelativeLayouts.То есть эти 2 RelativeLayouts отличаются, потому что они содержат разные представления.У одного могут быть текстовые представления, изображения и т. Д., А у другого также могут быть некоторые текстовые представления, которые означают нечто совершенно иное, чем другой набор текстовых представлений в другом относительном макете.Допустим, однако, что оба имеют кнопку «Отправить».Поэтому, чтобы прояснить мою точку зрения, приведем некоторый код:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ViewParent parent = v.getParent();
if(parent instanceof CustomRelativeLayout){
CustomRelativeLayout aRelativeLayout = (CustomRelativeLayout)parent;
for(int childrenIndex = 0; childrenIndex < r.getChildCount(); childrenIndex++){
View childView = aRelativeLayout.getChildAt(childrenIndex);
}
}
}
Проблема здесь в том, что мы не знаем, на что ссылается CustomRelativeLayout aRelativeLayout.В зависимости от того, какой CustomRelativeLayout это будет, будет зависеть от того, какие конкретные дочерние представления я хочу искать и какую логику я реализую, относящуюся к этим представлениям.Я хотел бы иметь возможность иметь оператор switch, чтобы проверить, какой тип CustomRelativeLayout является родителем.
Итак, я хотел бы задать следующие вопросы:
как получить дополнительную информацию о том, какой экземпляр CustomRelativeLayout ссылается на нажатую кнопку?Есть ли способ получить имя переменной экземпляра?
Как только я узнал эту информацию, как мне получить конкретную информацию о дочерних элементах родительского представления, над которым я работаю?Смысл в том, что у меня может быть 30 дочерних представлений в родительском, но меня интересует только одно конкретное представление (я мог бы хотеть получить текст одного конкретного текстового представления в качестве примера).Я буду знать, чтобы искать его специально, потому что я сделал бы оператор switch для разных экземпляров моего CustomRelativeLayouts (первый вопрос), и поэтому я знаю, какое представление я хочу посмотреть, какую логику выполнить или какие другие методы янужно позвонить.
Буду признателен за любые мысли или помощь с этим.