package com.example.com.lmt;
import java.util.ArrayList;
import java.util.List;
import android.R.string;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
List<Question> list= new ArrayList<Question>();
List<TextView> answers=new ArrayList<TextView>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initQuestion();
final LinearLayout linearLayout=new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
for (int i = 0; i < list.size(); i++) {
final int finali=i;
final Question question=list.get(i);
View layout=View.inflate(this,R.layout.activity_main, null);
TextView tvQuestion=(TextView) layout.findViewById(R.id.tv_question);
TextView tvUserAnswer=(TextView) layout.findViewById(R.id.tv_answer);
answers.add(tvUserAnswer);
tvQuestion.setText(question.getTitle());
linearLayout.addView(layout);
layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,AnswerActivity.class);
intent.putExtra("question",question);
startActivityForResult(intent, finali);
}
});
}
Button button=new Button(this);
button.setText("交卷");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int sum=0;
for (int i = 0; i < list.size(); i++) {
Question question=list.get(i);
if(question.getTrueAnswer().equals(question.getUserAnswer())){
sum+=20;
}
}
Toast.makeText(MainActivity.this,"得分"+sum, Toast.LENGTH_SHORT).show();
for (int i = 0; i <linearLayout.getChildCount(); i++) {
linearLayout.getChildAt(i).setOnClickListener(null);
}
}
});
linearLayout.addView(button);
setContentView(linearLayout);
}
private void initQuestion() {
list.add(new Question("在这个位置时怎样使用灯光?", new String[] { "A、开启左转向灯",
"B、开启右转向灯", "C、开启危险报警闪光灯", "D、开启前照灯" }, "A", "",
R.drawable.pic1));
list.add(new Question("造成交通事故后逃逸,尚不构成犯罪的一次记几分?", new String[] {
"A、12分", "B、6分", "C、3分", "D、2分" }, "A", "", 0));
list.add(new Question("如图所示,夜间驾驶机动车与同方向行驶的前车距离较近时,以下做法正确的是什么?",
new String[] { "A、使用远光灯,有利于观察路面情况",
"B、禁止使用远光灯,避免灯光照射至前车后视镜造成前车驾驶人眩目",
"C、使用远光灯,有利于告知前方驾驶人后方有来车",
"D、禁止使用远光灯,避免灯光照射至前车后视镜造成自己眩目" }, "C", "",
R.drawable.pic3));
list.add(new Question("如图所示,机动车在这种道路上行驶,在道路中间通行的原因是什么?", new String[] {
"A、在道路中间通行视线好", "B、防止车辆冲出路外", "C、给两侧的非机动车和行人留有充足的通行空间",
"D、在道路中间通行速度快" }, "C", "", R.drawable.pic4));
list.add(new Question("在高速公路上驾驶机动车,车辆发生故障后的处置方法,以下说法错误的是什么?",
new String[] { "A、打开危险报警闪光灯,夜间还应开启示廓灯、后位灯",
"B、在车后150米以外设置安全警告标志", "C、车内乘员应下车辅助将故障车辆推移到紧急停车带上",
"D、所有人员需离开故障车辆,在紧急停车带或护栏以外安全位置报警并等候救援" }, "C", "", 0));
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK){
String answer=data.getStringExtra("answer");
list.get(requestCode).setUserAnswer(answer);
answers.get(requestCode).setText(answer);
}
}
}
package com.example.com.lmt;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class AnswerActivity extends Activity{
TextView tvQuestion;
ImageView ivImage;
RadioGroup rgAnswer;
Button btnSubmit;
String userAnswer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_answer);
tvQuestion=(TextView) findViewById(R.id.tv_question);
ivImage=(ImageView) findViewById(R.id.iv_img);
rgAnswer=(RadioGroup) findViewById(R.id.rg);
btnSubmit=(Button) findViewById(R.id.btn_submit);
Question question=(Question) getIntent().getSerializableExtra("question");
tvQuestion.setText(question.getTitle());
if(question.getImg()!=0){
ivImage.setVisibility(View.VISIBLE);
ivImage.setImageResource(question.getImg());
}
for (int i = 0; i < rgAnswer.getChildCount(); i++) {
RadioButton button=(RadioButton)rgAnswer.getChildAt(i);
button.setText(question.getAnswer()[i]);
}
rgAnswer.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
userAnswer=rgAnswer.findViewById(checkedId).getTag().toString();
}
});
btnSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(userAnswer==null){
setResult(RESULT_CANCELED);
}else{
Intent intent=getIntent();
intent.putExtra("answer",userAnswer);
setResult(RESULT_OK,intent);
}
finish();
}
});
if(question.getUserAnswer().length()==1){
int index=question.getUserAnswer().charAt(0)-65;
RadioButton button=(RadioButton) rgAnswer.getChildAt(index);
button.setChecked(true);
}
}
}
package com.example.com.lmt;
import java.io.Serializable;
import java.util.Arrays;
public class Question implements Serializable{
/**
*
*/
private static final long serialVersionUID = -3234606523759044268L;
private String title;
private String[] answer;
private String trueAnswer;
private String userAnswer;
private int img;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String[] getAnswer() {
return answer;
}
public void setAnswer(String[] answer) {
this.answer = answer;
}
public String getTrueAnswer() {
return trueAnswer;
}
public void setTrueAnswer(String trueAnswer) {
this.trueAnswer = trueAnswer;
}
public String getUserAnswer() {
return userAnswer;
}
public void setUserAnswer(String userAnswer) {
this.userAnswer = userAnswer;
}
public int getImg() {
return img;
}
public void setImg(int img) {
this.img = img;
}
public Question(String title, String[] answer, String trueAnswer,
String userAnswer, int img) {
super();
this.title = title;
this.answer = answer;
this.trueAnswer = trueAnswer;
this.userAnswer = userAnswer;
this.img = img;
}
@Override
public String toString() {
return "Question [title=" + title + ", answer="
+ Arrays.toString(answer) + ", trueAnswer=" + trueAnswer
+ ", userAnswer=" + userAnswer + ", img=" + img + "]";
}
public Question() {
super();
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="10dp">
<TextView
android:id="@+id/tv_question"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/iv_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>
<RadioGroup
android:id="@+id/rg"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/rb_a"
android:layout_width="wrap_content"
android:tag="A"
android:layout_height="wrap_content"
android:text="A.123"/>
<RadioButton
android:id="@+id/rb_b"
android:layout_width="wrap_content"
android:tag="B"
android:layout_height="wrap_content"
android:text="B.3"/>
<RadioButton
android:id="@+id/rb_c"
android:layout_width="wrap_content"
android:tag="C"
android:layout_height="wrap_content"
android:text="C"/>
<RadioButton
android:id="@+id/rb_d"
android:layout_width="wrap_content"
android:tag="D"
android:layout_height="wrap_content"
android:text="D.123123123"/>
</RadioGroup>
<Button
android:id="@+id/btn_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"/>
</LinearLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/tv_answer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_margin="10dp"
android:layout_marginLeft="5dp"
android:text=" "
android:textColor="#ffffffff"
android:textSize="18sp" />
<TextView
android:id="@+id/tv_question"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/tv_answer"
android:ellipsize="end"
android:padding="10dp"
android:singleLine="true"
android:text="题目"
android:textSize="18sp"/>
<View android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/tv_answer"
android:background="#8ccccccc"/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.com.lmt"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".AnswerActivity"></activity>
<activity android:name=".Questio"></activity>
</application>
</manifest>