Как получить идентификатор динамически созданного View в android? На самом деле у меня много просмотров в моем макете, и я хочу, чтобы идентификатор этого вида был затронут пользователем. Это возможно? если да, то как это сделать?Как получить ViewId динамически в android
В следующем коде создана новая структура кадра, у меня есть generateViewId для этого макета и сохраните этот идентификатор в качестве ключа к HashMap (logoResizingRecordList).
FrameLayout fm=new FrameLayout(getApplication());
FrameLayout.LayoutParams params=new FrameLayout.LayoutParams(400,300);
fm.addView(img_pinch,params);
int FrameLayoutID=fm.generateViewId();
logoResizingRecordList.put(FrameLayoutID,logoObj);
fm.setOnTouchListener(logoTouchListner);
Здесь OnTouch Я назначил экземпляр FrameLayout для temp_img_logo.
public boolean onTouch(final View p_v, MotionEvent p_event)
{
if(p_v instanceof FrameLayout) {
temp_img_logo=(FrameLayout)p_v;
}
здесь я хочу, чтобы получить идентификатор выше FrameLayout (фм) Но вернуться по умолчанию Id любого View, т.е. -1
logoResizingRecordList.get(temp_img_logo.getId())
Теперь мой вопрос заключается в том, что это возможно, чтобы получить id fm (FrameLayout), который я создал динамически? Если да, то, пожалуйста, помогите мне найти его.
Что вы имеете в виду под «динамически создается»? Вы имеете в виду, что вы используете конструктор в подклассах 'View' (например,' new Button (...) ')? Вы имеете в виду, что используете «LayoutInflater»? Вы имеете в виду что-то еще? – CommonsWare
@CommosWare динамически означает, что TextView создаются программно, а затем добавляются в макет. теперь я хочу получить идентификатор этого текста в событии OnTouch. – NighterZ
Что вы подразумеваете под «создаются программно»? Вы имеете в виду, что вы используете конструктор в подклассах 'View' (например,' new Button (...) ')? Вы имеете в виду, что используете «LayoutInflater»? Вы имеете в виду что-то еще? – CommonsWare