我想收集有关用户的信息。让我们说,我想为每个家庭成员收集年龄和性别等信息。
如果我不知道他们的家庭人数,我怎么能以一种形式做到这一点,以便在提示时他们可以输入家庭成员的数量。现在屏幕显示的是一个表格,其中包含家庭成员1:
年龄:
性别:
家庭成员2:
年龄
性别
等等。我想要一个大清单,因此您可以向下滚动应用程序以输入所有信息。最后一个提交按钮会将表单提交给我。我只是不知道如何处理未知数量的editText表单等,以及如何从每个表单中提取信息。
如果您可以通过一些代码段告诉我如何执行此操作。
答案 0 :(得分:0)
有许多不同的方式 我会提到其中一个:
- 启动EditText和按钮的布局。对于家庭问题的大小 - 仅使用ViewPager进行布局 -Layout for Fragement,你希望表单看起来像例如2 EditText(年龄和性别)和1个按钮
创建一个Fragment.Java类并在其中膨胀Fragment布局
现在,您可以在主活动中设置第一个布局,其中包含族布局的大小。
例如,他进入了4。
现在以ViewPager布局作为其内容打开一个新活动。
int size = 4;
ArrayList<Fragments> lf = new ArrayList<Fragment>();
使用循环
创建片段for(int count;0 count<size; count ++){
Fragment f = new Fragment();
lf.add(f);
}
现在创建PagerAdapter,将“lf”传递给它
您可以相应地为每个按钮设置文字
String Text;
if(pagenumber == size-1) //means last page
text= "finish";
else
text = "next";
然后
button.setText(text);
澄清更新
setContentView(R.layout.main_Pager);
现在在ViewPager上调用setAdapter。
例如:vPager.setAdapter(new FragmentAdapter(getFragmentManager(), lf));
这是您的FragmentAdapter类。
public class FragmentAdapter extends FragmentPagerAdapter{
private List<Fragment> fragments;
public FragmentAdapter (FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
@Override
public void destroyItem (ViewGroup container, int position, Object object)
{
super.destroyItem(container, position, object);
}
@Override
public int getCount() {
return this.fragments.size();
}
}