2

我有以下问题

android应用程序中的按钮重叠

我使用的代码如下:

        protected override void OnCreate(Bundle bundle)
       {
        base.OnCreate(bundle);

        SetContentView(Resource.Layout.Window);

         Bla WebS = new Bla();
         foreach (var item in WebS.Fetch(null, null, null))
         {
             var Params = new Android.Widget.LinearLayout.LayoutParams(Android.Widget.LinearLayout.LayoutParams.MatchParent, 
             Android.Widget.LinearLayout.LayoutParams.WrapContent);

             Button b = new Button(this);
             b.Text = item.Name;
             b.Id = Convert.ToInt16(item.ID);
             b.Click += new EventHandler(Soort_Click);
             this.AddContentView(b, Params);
         }
    }

我不知道我在这里错过了什么?

4

2 回答 2

1

现在,您正在向主要内容区域添加按钮,而不考虑它们的呈现方式。

你需要

  1. 将 a 添加LinearLayoutResource.Layout.Window内容视图,具有垂直方向。

  2. 使用 FindViewById(/ layout id /)获取对该布局的引用

    var myLayout = FindViewById(Resource.Layout.myLayout);

  3. 您要添加的 foreach 按钮,

    layout.AddView(/* 我的按钮 */);

如果您无法将 LinearLayout添加到内容视图Resource.Layout.Window,请在创建任何按钮之前动态创建它并将其添加到Resource.Layout.Window内容视图,然后将按钮添加到其中。

<LinearLayout 
    xmlns:android="schemas.android.com/apk/res/android"     
    android:id="@+id/myLayout"
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" />
于 2013-10-30T11:06:29.463 回答
0
           LinearLayout ly = FindViewById<LinearLayout>(Resource.Id.linearLayout1);

         Bla WebS = new Bla();
         foreach (var item in WebS.Fetch(null, null, null))
         {
             var Params = new Android.Widget.LinearLayout.LayoutParams(Android.Widget.LinearLayout.LayoutParams.MatchParent, Android.Widget.LinearLayout.LayoutParams.WrapContent);
             Button b = new Button(this);
             b.Text = item.Naam;
             b.Id = Convert.ToInt16(item.ID);
             b.Click += new EventHandler(Soort_Click);

             ly.AddView(b, Params);
         }

DaveDev TY 明白了:)

于 2013-10-30T11:19:47.803 回答