在Xamarin中创建多个复选框的最简单方法?C#/XML
我需要在Xamarin上的应用程序中创建8005个复选框 我正在制作的应用程序将数千个短语粘贴到一个文本框中,以便用户可以编辑它们 我的方法是在第一页上放置27个按钮,每个字母对应一个按钮(数字对应一个额外的按钮),选择一个数字后,它会将您带到另一页,每个短语对应一个复选框。选择所需的每个短语后,会有一个“获取结果”按钮将它们全部粘贴到文本编辑器中 我不得不一次又一次地复制和粘贴复选框代码,用不同的短语为每个复选框添加不同的ID 这是我正在使用的代码:在Xamarin中创建多个复选框的最简单方法?C#/XML,c#,checkbox,xamarin.android,C#,Checkbox,Xamarin.android,我需要在Xamarin上的应用程序中创建8005个复选框 我正在制作的应用程序将数千个短语粘贴到一个文本框中,以便用户可以编辑它们 我的方法是在第一页上放置27个按钮,每个字母对应一个按钮(数字对应一个额外的按钮),选择一个数字后,它会将您带到另一页,每个短语对应一个复选框。选择所需的每个短语后,会有一个“获取结果”按钮将它们全部粘贴到文本编辑器中 我不得不一次又一次地复制和粘贴复选框代码,用不同的短语为每个复选框添加不同的ID 这是我正在使用的代码: <CheckBox
<CheckBox
android:text="Living the American dream "
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/checkBox1" />
我没有使用xamarin,但我想知道是否最好使用列表/数据网格/表格,其中每行都是一个复选框-您只需使用要显示的数据填充一个集合,并配置如何显示该行。然后将动态创建复选框。此外,list/datagrid/table将只创建可见行的子集,这将减少内存占用。如果要创建这些控件,最好使用代码动态创建,而不是使用xml。就这样,
var checkBoxes = new CheckBox[0];
for (int i = 0; i <= 8005; i++)
{
var checkBox = new CheckBox(this);
checkBox.Text = "your phrase";
checkBox.LayoutParameters = new ViewGroup.LayoutParams(LinearLayout.LayoutParams.WrapContent, LinearLayout.LayoutParams.WrapContent);
parentLayout.AddView(checkBox);
Array.Resize(ref checkBoxes, i + 1);
checkBoxes[i] = checkBox;
}
var selectedCheckBoxes = checkBoxes.Where(c => c.Checked);
你能为我详细介绍一下如何做/如何工作吗?我有点理解你的意思,但我不是100%确定。我对编码比较陌生,但我理解得很好