动态用户输入表单

时间:2014-06-29 00:55:55

标签: java android dynamic input

我想收集有关用户的信息。让我们说,我想为每个家庭成员收集年龄和性别等信息。

如果我不知道他们的家庭人数,我怎么能以一种形式做到这一点,以便在提示时他们可以输入家庭成员的数量。现在屏幕显示的是一个表格,其中包含家庭成员1:
年龄:
性别:
家庭成员2:
年龄
性别
等等。我想要一个大清单,因此您可以向下滚动应用程序以输入所有信息。最后一个提交按钮会将表单提交给我。我只是不知道如何处理未知数量的editText表单等,以及如何从每个表单中提取信息。

如果您可以通过一些代码段告诉我如何执行此操作。

1 个答案:

答案 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);

澄清更新

  1. FirstFragment.xml应该在表单中有你想要的东西(2个EditTexts和1个按钮)
  2. main_pager.xml只有ViewPager
  3. 使用setContentView(R.layout.main_Pager);
  4. 创建mainActivity.java类
  5. 在你的onCreate()中找到你的viewPager并提供给ViewPager实例。
  6. 之后按照家庭的大小进行上述循环
  7. 现在在ViewPager上调用setAdapter。 例如:vPager.setAdapter(new FragmentAdapter(getFragmentManager(), lf));

  8. 这是您的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();
          }
     }