0

我想从 foreach 循环中添加项目。我的问题是,无论添加多少,我都只能看到一项。我在下面制作了一个示例代码,其中包含我的问题。从我的布局开始。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:focusableInTouchMode="true">

  <ScrollView android:id="@+id/ScrollView01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:focusableInTouchMode="true">

      <TextView
          android:textSize="10pt"
          android:id="@+id/HeaderLbl"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
         />

      <TextView
            android:textSize="7pt"
            android:id="@+id/ErrorLbl"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textColor="#ffff0000"
            />
      <Spinner
          android:id="@+id/OrderSpinner"
          android:layout_height="wrap_content"
          android:layout_width="fill_parent"
               >
      </Spinner>

      <TextView
            android:textSize="8pt"
            android:id="@+id/OrderRef"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
           />

      <TextView
            android:textSize="7pt"
            android:id="@+id/OrderDateTime"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
           />

      <TextView
            android:textSize="7pt"
            android:id="@+id/OrderCustomer"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
           />

      <TextView
            android:textSize="7pt"
            android:id="@+id/OrderInnerComment"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
           />

      <Spinner
          android:id="@+id/ArticleSpinner"
          android:layout_height="wrap_content"
          android:layout_width="fill_parent"
               >
      </Spinner>

      <ListView
        android:id="@+id/OperationsListView"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
          >
      </ListView>


    </LinearLayout>
  </ScrollView>
</LinearLayout>

在这里,我模拟了我的 foreach 循环,向其中添加了项目。

ArrayAdapter CalculationAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1);
    ListView OperationsListView = FindViewById<ListView>(Resource.Id.OperationsListView);

        for (int i = 0; i < 3; i++)
        {
            CalculationAdapter.Add(i.ToString());
        }

        OperationsListView.Adapter = CalculationAdapter;

非常感谢您的帮助!谢谢你。

编辑:我认为滚动视图是问题所在。

<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

我删除了它,然后它工作了:) 不明白为什么.. 我怎样才能将 ListView 放入 ScrollView 而不会崩溃? Mabye这可以帮助任何其他有同样问题的人

4

2 回答 2

0

使用它来设置适配器到列表视图

 OperationsListView.setAdapter(CalculationAdapter);

这会将值设置为列表视图

我不确定是否ListView OperationsListView = FindViewById<ListView>(Resource.Id.OperationsListView);

是正确的

尝试这个

 OperationsListView = (ListView) findViewById(your id );
于 2012-10-05T08:28:39.677 回答
0

我想你notifyDataSetChanged();最后不见了。 CalculationAdapter.notifyDataSetChanged();

于 2012-10-05T09:57:29.980 回答