В моей деятельности я иду через кучу управления (полей ввода), и создатьfindViewById (R.id.something) в неактивности класса
for(ControlTemplate field: fieldMap.get(string))
{
View view = field.getFieldControl(true, this);
l.addView(view, new PredicateLayout.LayoutParams(2, 0));
}
getFieldControl В ControlTemplate содержит переключающий о том, что должны возвращать разные типы представлений.
case LABEL:
view = new TextView(context);
view.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
((TextView) view).setText(value);
break;
Однако, я хотел бы иметь возможность создавать представления из определений XML, но это не представляется возможным, так как класс не активность, и поэтому она не имеет раскладки. То, что я хотел бы сделать что-то вроде этого:
case TEXTBOX:
view = (EditText) passedActivity.findViewById(R.id.edit_message);
break;
где passedActivity является деятельность, которая создала класс ControlField. Есть ли способ передать текущую деятельность в качестве аргумента или, возможно, только ее макеты?
передать контекст конструктору класса неактивности и использовать его, чтобы найти идентификатор. – Raghunandan
@ Raghunandan, в чем разница? – Blackbelt
Я прошел контекст, но как мне получить идентификатор из контекста? – Rickard