mono for android - 动态添加布局到scrollview

时间:2013-03-08 08:33:45

标签: android-layout xamarin.android scrollview

我想动态地将一个布局添加到ScrollView中。我尝试了谷歌和这里发现的一切,但没有机会!其中大多数会导致“对象引用”错误。这是其中一个代码:

LayoutInflater layoutInflater = (LayoutInflater) this.GetSystemService(Context.LayoutInflaterService);    
View view = new View(this);
view = layoutInflater.Inflate(Resource.Layout.MYLAYOUT, null);
MYSCROLLVIEW.AddView(view);

但它导致“对象引用未设置为对象的实例”。

之后,我想使用MYLAYOUT中的控件(视图),例如:

MYLAYOUT.textView1.Text =“example”;

1 个答案:

答案 0 :(得分:1)

我做的是作弊并在ScrollView内的现有布局中添加我的动态布局。这是一个使用Horizo​​ntalScrollView的例子:

<HorizontalScrollView
    android:layout_width="739dp"
    android:layout_height="match_parent"
    android:id="@+id/horizontalMessageScrollView"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="15dp"
    android:scrollbars="none">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/messageHolder" />
</HorizontalScrollView>

然后在我的代码中我使用以下内容:

LinearLayout messageListView = FindViewById<LinearLayout>(Resource.Id.messageHolder);

foreach (var object in objects) {  
    // create your dynamic views here.      

    View view = new View(this);
    view = layoutInflater.Inflate(Resource.Layout.MYLAYOUT, null);

    TextView internalTextView= view.FindViewById<TextView>(Resource.Id.internalTextView);
    internalTextView.SetText("Hello world!", TextView.BufferType.Normal);
    messageListView.AddView(view);
}