2012-10-05 135 views
0

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

<?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是问题。

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

我删除它,然后它的工作:) 不为什么寿明白.. How can I put a ListView into a ScrollView without it collapsing? Mabye这可以帮助其他任何具有相同的概率

+0

你在哪里设置适配器到列表视图? –

+0

OperationsListView.Adapter = CalculationAdapter;对? – Serik

回答

0

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

OperationsListView.setAdapter(CalculationAdapter); 

这将设置值到ListView

,我不河畔Ë

是否ListView OperationsListView = FindViewById<ListView>(Resource.Id.OperationsListView); 是正确

试试这个

OperationsListView = (ListView) findViewById(your id); 
+0

感谢您的回答!但是当我发布我的问题时,两个标签消失了。你的答案在Java中是正确的?我正在用C#开发monodroid。在那种情况下,对不起。 – Serik

+0

确定对不起,我的答案是java –

+0

但你知道吗?我怀疑错误是在布局中,它是一样的权利?无论如何,如果您的布局为 – Serik

0

我认为你缺少notifyDataSetChanged();在最后。 CalculationAdapter.notifyDataSetChanged();

+0

After OperationsListView.Adapter = CalculationAdapter; ? 是否这样? OperationsListView.Adapter = CalculationAdapter; CalculationAdapter.NotifyDataSetChanged(); – Serik

+0

Yap ...这是正确的.. – Prashant