Android_问卷调查
这个是一个简单的问卷调查,对于我这样的初学者可能会绞尽脑汁想尽办法,去实现一个看起来特别简单的功能,我这个是用Intent传参的办法,来实现将前边的调查来进行统计,并记录,之后将这些信息显示到最后一个界面,我只做了两个题目的调查,再多个题目也是这样同样的方法来写,对于我来说无任何意义。
第一个布局文件:
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:id="@+id/LinearLayout1" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:layout_marginTop="12dp" 7 android:orientation="vertical" 8 android:paddingBottom="@dimen/activity_vertical_margin" 9 android:paddingLeft="@dimen/activity_horizontal_margin" 10 android:paddingRight="@dimen/activity_horizontal_margin" 11 android:paddingTop="@dimen/activity_vertical_margin" 12 tools:context=".MainActivity" > 13 14 <LinearLayout 15 android:layout_width="wrap_content" 16 android:layout_height="wrap_content" 17 android:layout_gravity="center" 18 android:layout_margin="12dp" 19 android:gravity="center" 20 android:orientation="vertical" > 21 22 <TextView 23 android:id="@+id/textView1" 24 android:layout_width="wrap_content" 25 android:layout_height="wrap_content" 26 android:layout_gravity="center_horizontal" 27 android:layout_marginTop="25dp" 28 android:text="关于APP图标的调查问卷" 29 android:textSize="22sp" /> 30 31 </LinearLayout> 32 33 <LinearLayout 34 android:layout_width="wrap_content" 35 android:layout_height="wrap_content" 36 android:layout_gravity="center" 37 android:layout_marginTop="20dp" 38 android:orientation="vertical" > 39 40 <TextView 41 android:id="@+id/textView2" 42 android:layout_width="wrap_content" 43 android:layout_height="wrap_content" 44 android:layout_marginTop="18dp" 45 android:text="1.请根据实际来回答问题。" 46 android:textSize="18dp" /> 47 48 <TextView 49 android:id="@+id/textView3" 50 android:layout_width="wrap_content" 51 android:layout_height="wrap_content" 52 android:layout_marginTop="18dp" 53 android:text="2.此问卷为不记名问卷。" 54 android:textSize="18dp" /> 55 56 <TextView 57 android:id="@+id/textView4" 58 android:layout_width="wrap_content" 59 android:layout_height="wrap_content" 60 android:layout_marginTop="18dp" 61 android:text="3.感谢您对此问卷的支持。" 62 android:textSize="18dp" /> 63 64 </LinearLayout> 65 66 <TextView 67 android:id="@+id/textView5" 68 android:layout_width="wrap_content" 69 android:layout_height="wrap_content" 70 android:layout_gravity="center" 71 android:layout_marginTop="50dp" 72 android:text="请选择是否开始" 73 android:textSize="16sp" /> 74 75 <LinearLayout 76 android:layout_width="229dp" 77 android:layout_height="wrap_content" 78 android:layout_gravity="center" 79 android:layout_marginTop="20dp" > 80 81 <Button 82 android:id="@+id/btnStart" 83 android:layout_width="wrap_content" 84 android:layout_height="wrap_content" 85 android:layout_weight="0.50" 86 android:onClick="startApp" 87 android:text="开 始" /> 88 89 <Button 90 android:id="@+id/btnEnd" 91 android:layout_width="wrap_content" 92 android:layout_height="wrap_content" 93 android:layout_marginLeft="30dp" 94 android:layout_weight="0.50" 95 android:onClick="endApp" 96 android:text="退 出" /> 97 98 </LinearLayout> 99 100 </LinearLayout>
对应的Java文件
1 package com.yulei.app1; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.app.AlertDialog; 6 import android.content.DialogInterface; 7 import android.content.DialogInterface.OnClickListener; 8 import android.content.Intent; 9 import android.view.Menu; 10 import android.view.View; 11 12 public class MainActivity extends Activity { 13 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main); 18 } 19 20 @Override 21 public boolean onCreateOptionsMenu(Menu menu) { 22 // Inflate the menu; this adds items to the action bar if it is present. 23 getMenuInflater().inflate(R.menu.main, menu); 24 return true; 25 } 26 27 //开始调查 28 public void startApp(View v) 29 { 30 new AlertDialog.Builder(this) 31 .setTitle("确认信息") 32 .setMessage("准备好开始了吗?") 33 .setPositiveButton("否", null) 34 .setNegativeButton("是", new OnClickListener() { 35 36 @Override 37 public void onClick(DialogInterface arg0, int arg1) { 38 // TODO Auto-generated method stub 39 //开始按钮事件 40 Intent i = new Intent(MainActivity.this , page1.class); 41 //启动 42 startActivity(i); 43 } 44 }) 45 .show(); 46 } 47 48 //退出程序 49 public void endApp(View v) 50 { 51 new AlertDialog.Builder(this) 52 .setTitle("提示信息") 53 .setMessage("确定退出吗?") 54 .setPositiveButton("否", null) 55 .setNegativeButton("是", new OnClickListener() { 56 57 @Override 58 public void onClick(DialogInterface arg0, int arg1) { 59 // TODO Auto-generated method stub 60 System.exit(0); 61 } 62 }) 63 .show(); 64 } 65 66 }
第一个page1:
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" > 6 7 <TextView 8 android:id="@+id/textView1" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:layout_gravity="center" 12 android:layout_marginTop="40dp" 13 android:text="问卷调查" 14 android:textSize="24dp" /> 15 16 <LinearLayout 17 android:layout_width="match_parent" 18 android:layout_height="wrap_content" 19 android:layout_marginTop="35dp" 20 android:orientation="vertical" > 21 22 <TextView 23 android:id="@+id/textView2" 24 android:layout_width="188dp" 25 android:layout_height="wrap_content" 26 android:layout_gravity="center" 27 android:layout_marginTop="16dp" 28 android:text="1.您的职业为 ?" 29 android:textSize="20dp" /> 30 31 <RadioGroup 32 android:id="@+id/radioGroup1" 33 android:layout_width="184dp" 34 android:layout_height="wrap_content" 35 android:layout_gravity="center" 36 android:layout_marginTop="24dp" > 37 38 <RadioButton 39 android:id="@+id/boy" 40 android:layout_width="wrap_content" 41 android:layout_height="wrap_content" 42 android:checked="false" 43 android:text=" 学生党" /> 44 45 <RadioButton 46 android:id="@+id/girl" 47 android:layout_width="wrap_content" 48 android:layout_height="wrap_content" 49 android:layout_marginTop="8dp" 50 android:text=" 上班族" /> 51 52 <RadioButton 53 android:id="@+id/other" 54 android:layout_width="wrap_content" 55 android:layout_height="wrap_content" 56 android:layout_marginTop="8dp" 57 android:text=" 其他的" /> 58 59 </RadioGroup> 60 </LinearLayout> 61 62 <LinearLayout 63 android:layout_width="match_parent" 64 android:layout_height="wrap_content" 65 android:layout_weight="0.21" 66 android:orientation="vertical" > 67 68 <Button 69 android:id="@+id/btnTijiao" 70 android:layout_width="123dp" 71 android:layout_height="wrap_content" 72 android:layout_gravity="center" 73 android:layout_marginTop="50dp" 74 android:onClick="onClickTijiao1" 75 android:text="提 交" /> 76 77 </LinearLayout> 78 79 </LinearLayout>
对应Java文件:
1 package com.yulei.app1; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.os.Bundle; 6 import android.view.ContextMenu; 7 import android.view.ContextMenu.ContextMenuInfo; 8 import android.view.View; 9 import android.widget.RadioButton; 10 import android.widget.RadioGroup; 11 import android.widget.TextView; 12 13 public class page1 extends Activity { 14 15 public RadioGroup rg; 16 public RadioButton mRadio1, mRadio2,mRadio3; 17 String []info=new String [3]; 18 TextView tv1; 19 20 @Override 21 protected void onCreate(Bundle savedInstanceState) { 22 // TODO Auto-generated method stub 23 super.onCreate(savedInstanceState); 24 setContentView(R.layout.help); 25 rg = (RadioGroup) findViewById(R.id.radioGroup1); 26 mRadio1 = (RadioButton) findViewById(R.id.boy); 27 mRadio2 = (RadioButton) findViewById(R.id.girl); 28 mRadio3 = (RadioButton) findViewById(R.id.other); 29 rg.setOnCheckedChangeListener(radiogpchange); 30 tv1=(TextView)findViewById(R.id.textView1); 31 } 32 33 @Override 34 public void onCreateContextMenu(ContextMenu menu, View v, 35 ContextMenuInfo menuInfo) { 36 // TODO Auto-generated method stub 37 super.onCreateContextMenu(menu, v, menuInfo); 38 } 39 40 private RadioGroup.OnCheckedChangeListener radiogpchange = new RadioGroup.OnCheckedChangeListener() 41 { 42 @Override 43 public void onCheckedChanged(RadioGroup group, int checkedId) 44 { 45 if (checkedId == mRadio1.getId()) 46 { 47 info[0]="学生党"; 48 } 49 else if (checkedId == mRadio2.getId()) 50 { 51 info[0]="上班族"; 52 } 53 else if (checkedId == mRadio3.getId()) 54 { 55 info[0]="其他的"; 56 } 57 } 58 }; 59 60 61 public void onClickTijiao1(View v) 62 { 63 Intent intent=new Intent(); 64 intent.setClass(page1.this,page2.class); 65 intent.putExtra("info0", info[0]); //put传到另一个界面 66 //启动 67 startActivity(intent); 68 } 69 }
.
.
.
第三个page3界面:
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" > 6 7 <LinearLayout 8 android:layout_width="match_parent" 9 android:layout_height="wrap_content" 10 android:orientation="vertical" > 11 </LinearLayout> 12 13 <TextView 14 android:id="@+id/tvss" 15 android:layout_width="wrap_content" 16 android:layout_height="wrap_content" 17 android:layout_gravity="center" 18 android:layout_marginTop="50dp" 19 android:text="调查结果" 20 android:textSize="20dp" /> 21 22 <TextView 23 android:id="@+id/textView1" 24 android:layout_width="wrap_content" 25 android:layout_height="wrap_content" 26 android:layout_gravity="center" 27 android:layout_marginTop="20dp" 28 android:text="1.你的职业为:" 29 android:textSize="18sp" /> 30 31 <TextView 32 android:id="@+id/textView2" 33 android:layout_width="wrap_content" 34 android:layout_height="wrap_content" 35 android:layout_gravity="center" 36 android:layout_marginTop="20dp" 37 android:text="2.常用 APP为:" 38 android:textSize="18sp" /> 39 40 <Button 41 android:id="@+id/button1" 42 android:layout_width="133dp" 43 android:layout_height="wrap_content" 44 android:layout_gravity="center" 45 android:layout_marginTop="30dp" 46 android:onClick="onClickTijiao3" 47 android:text="确 认 提 交" /> 48 49 </LinearLayout>
对应的Java文件:
1 package com.yulei.app1; 2 3 import android.app.Activity; 4 import android.app.AlertDialog; 5 import android.content.DialogInterface; 6 import android.content.DialogInterface.OnClickListener; 7 import android.content.Intent; 8 import android.os.Bundle; 9 import android.view.ContextMenu; 10 import android.view.ContextMenu.ContextMenuInfo; 11 import android.view.View; 12 import android.widget.RadioButton; 13 import android.widget.RadioGroup; 14 import android.widget.TextView; 15 16 public class page3 extends Activity { 17 18 public RadioGroup rg; 19 public RadioButton mRadio1, mRadio2,mRadio3; 20 String []info=new String [3]; 21 TextView tv1,tv2; 22 23 24 25 @Override 26 protected void onCreate(Bundle savedInstanceState) { 27 // TODO Auto-generated method stub 28 super.onCreate(savedInstanceState); 29 setContentView(R.layout.help3); 30 tv1=(TextView)findViewById(R.id.textView1); 31 tv2=(TextView)findViewById(R.id.textView2); 32 33 } 34 35 @Override 36 public void onCreateContextMenu(ContextMenu menu, View v, 37 ContextMenuInfo menuInfo) { 38 // TODO Auto-generated method stub 39 super.onCreateContextMenu(menu, v, menuInfo); 40 } 41 42 43 44 public void onClickTijiao3(View v) 45 { 46 Intent intent = getIntent(); 47 String nn=intent.getStringExtra("info1"); 48 String mm=intent.getStringExtra("info0"); 49 tv1.setText("1.你的职业为:"+mm); 50 tv2.setText("2.常用 APP为:"+nn); 51 new AlertDialog.Builder(this) 52 .setTitle("提示信息") 53 .setMessage("信息已提交,点击关闭应用") 54 .setPositiveButton("退 出", null) 55 56 //.setNegativeButton("是", null) 57 .show(); 58 59 } 60 }
在这里不将代码全部贴出来了,运行效果如下所示:
这个程序只是实现了基本的功能,用到的是安卓里边的单击按钮事件以及Activity之间传值。
App下载地址:点击此链接下载此应用