私の活動では、一連のコントロール(入力フィールド)を調べて、
for(ControlTemplate field: fieldMap.get(string))
{
View view = field.getFieldControl(true, this);
l.addView(view, new PredicateLayout.LayoutParams(2, 0));
}
ControlTemplate の getFieldControl には、さまざまなタイプのビューを返す必要がある switch ステートメントが含まれています。
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 クラスを作成したアクティビティです。現在のアクティビティを引数として渡す方法、またはおそらくそのレイアウト アセットのみを渡す方法はありますか?