2

Java または C# の回答で問題ありません (MonoDroid を使用)

以下を使用して、コントロールを LinearLayout に正常に追加しました。

    LayoutInflater _inflatorservice = (LayoutInflater)this.GetSystemService(Context.LayoutInflaterService);
    var viewContainer = _inflatorservice.Inflate(Resource.Layout.ReportItImageButton, myLinearLayout);

追加したばかりのビューへの参照を取得するにはどうすればよいですか? この方法で同じコントロールの多くを追加するので、n 番目の項目をレイアウトに追加する必要があります。

4

3 に答える 3

3

これは機能し、アイテムのタイプが であると仮定して、追加された最新のアイテムを取得しますButton

LayoutInflater _inflatorservice = (LayoutInflater)this.GetSystemService(
    Context.LayoutInflaterService);
var layout = _inflatorservice.Inflate(
    Resource.Layout.ReportItImageButton, layoutImages) as LinearLayout;

if (layout != null)
{
    var b = layout.GetChildAt(layout.ChildCount - 1) as Button;
    if (b != null)
    {
    }
}
于 2012-06-11T19:50:25.670 に答える
1
View v = myLinearLayout.findViewById(R.id.myViewId)

myViewId は ReportItImageButton.xml ファイルで指定された ID と同じである必要があります

于 2012-06-11T19:39:08.227 に答える
1

追加のパラメーターがあります。膨張したビューを に追加しませんが、そのオブジェクトをmyLinearLayout返します。View

var viewObj = _inflatorservice.Inflate(
    Resource.Layout.ReportItImageButton, myLinearLayout, false);

たとえば、 a を追加した場合、LinearLayouta がLinearLayout返されることに注意してください。このメソッドは、XML レイアウトのルートビューを返すため、任意のタイプのView.

于 2012-06-11T19:14:29.167 に答える