移动开发——问卷调查

  • 设计思路
  1. 首先问卷调查需要两个页面,一个是用户进行问题选项选择的问卷界面,一个是用户问卷调查结果的反馈页面。
  2. 问卷界面有题目,单选,有多选,还有文本编辑框,以及两个按钮,一个提交,一个返回。因为有多道题,所以我采取了滚动下拉布局,方便用户的操作。
  3. 反馈界面很简单,不需要太多的布局与控件,只要能读取返回值就行,我运用了Bundle类和Intent类
  4. 通过Activity直接实现接口对按钮点击动作的响应。重写onCreate()和onCheckedChanged()和onCheckedChanged()以及onClick()进行事件的监听
  5. 通过Activity实现结果的传输与反馈到界面上。用Bundle进行数据的传输,Intent进行页面的跳转。
  • 布局控件
  1. 利用ScrollView布局实现滚动下拉功能
  2. 利用线性布局以及相对布局使布局清晰整齐
  3. <TextView>编写题目内容和要求
  4. <RadioGroup>和<RadioButton>实现单选功能
  5. <CheckBox>实现多选功能
  6. <EditText>实现文本编辑功能。
  • 调试过程

            

  1. 一开始测试的时候,点击提交按钮,页面并没有发生跳转,后来发现是我忘了在AndroidManifest.xml文件中进行第二个页面的配置了,修改后,成功跳转页面。代码如下:
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity android:name=".ResultActivity">
    <intent-filter>
        <action android:name="android.intent.action.Result" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

 代码如下:

  1.  在测试过程中发现多选按钮事件的监听有点问题,重复点击的话会出现多个结果,比如点两次A三次B,反馈结果则显示为A.***A.***A.***B.***B.***B.***,造成了结果的重复,而且第一次选上了,后面取消结果中还是保留。这是因为我用的是列表存放多选结果,监听时列表没有查重,且去除未选的。我进行了多选按钮监听代码的修改。创了两个变量,一个存放点击按钮的次数,一个存放按钮是否选中的结果。如果次数为偶数,且列表中存在那个选项,则从列表中移除。如果列表中没有且次数为奇数,则把选项加入列表。
switch (checkboxId){
    case R.id.cb_side1:
        cs11++;
        for(int i=0;i<sides.size();i++)
        {
            if(sides.get(i)==cb_side1.getText().toString()) {
                cs1++;
            }
            if(cs11%2==0&&sides.get(i)==cb_side1.getText().toString())
            {
                sides.remove(i);
                cs1=0;
            }
        }
        if(cs1==0&&cs11%2!=0) {
            cs1++;
            sides.add(cb_side1.getText().toString());
        }
        break;
  • 运行结果

 

图1-4 运行测试结果图b

图1-5 运行测试结果图c

图1-6运行结果反馈图

图1-7必填选项未选结果图

猜你喜欢

转载自blog.csdn.net/floraruo/article/details/88778350
今日推荐