C# listview仅显示一项
我想从foreach循环向它添加项目。我的问题是,无论我添加了多少项,我只能看到一项。我在下面制作了一个示例代码,其中包含我的问题。从我的布局开始C# listview仅显示一项,c#,android,listview,xamarin.android,C#,Android,Listview,Xamarin.android,我想从foreach循环向它添加项目。我的问题是,无论我添加了多少项,我只能看到一项。我在下面制作了一个示例代码,其中包含我的问题。从我的布局开始 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_w
<?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;
ArrayAdapter CalculationAdapter=新的ArrayAdapter(这是Android.Resource.Layout.SimpleListItem1);
ListView操作ListView=FindViewById(Resource.Id.OperationsListView);
对于(int i=0;i<3;i++)
{
CalculationAdapter.Add(i.ToString());
}
OperationListView.Adapter=CalculationAdapter;
非常感谢您的帮助!多谢各位
编辑:
我认为滚动视图是问题所在
<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
我移除了它,然后它开始工作:)
我不明白为什么。。
也许这可以帮助其他有同样问题的人使用它来设置listview的适配器
OperationsListView.setAdapter(CalculationAdapter);
这将设置listview的值
OperationsListView.setAdapter(CalculationAdapter);
我不确定是否ListView-operationlistview=findviewbyd(Resource.Id.operationlistview);
是的
试试这个
OperationsListView = (ListView) findViewById(your id );
我认为您缺少
notifyDataSetChanged()代码>在最后<代码>CalculationAdapter.notifyDataSetChanged()代码>您在哪里将适配器设置为listview?OperationsListView.adapter=CalculationAdapter;对吧?谢谢你的回答!但当我发布我的问题时,两个标签消失了。你的答案是java,对吗?我在和C#一起工作。那样的话,对不起。但是你知道吗!我怀疑错误在布局中,是不是也一样?如果你的专业人员在布局中有列表项,你也许可以帮助我。(检查它们,我认为它们在滚动时可见)无法滚动。但是如果这就是问题所在,我如何删除滚动并使其成为显示所有项目的列表?操作后ListView.Adapter=CalculationAdapter?这样地?OperationListView.Adapter=CalculationAdapter;CalculationAdapter.NotifyDataSetChanged();