近期在做一个答题类型的APP,而其中最重要的是答题卡。而答题卡要如何做?
1.将数据插入到SQLite数据库中
2.建立entity实体包,创建实体类,封装。
3.创建实体与view的List集合
4.循环读取数据,加入到实体集合中
5.根据实体集合(size)进行循环,将布局文件转化为view,加入到view的List集合
以上5点可以达成与数据多少来创建viewpager的滑动也效果
如有不明白者,请联系本人。
private ViewPager vp_viewPager;
private List<View> views;
private List<Topic> topic;
private SQLiteDatabase database;
private Cursor cursor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_common);
topic = new ArrayList<>();
views = new ArrayList<>();
vp_viewPager = (ViewPager) findViewById(R.id.vp_ViewPager);
DBHelper dbHelper = new DBHelper(this, "Topic", null, 1);
database = dbHelper.getReadableDatabase();
cursor = database.query(false, "tb_topic", null, null, null, null, null, null, null);
while (cursor.moveToNext()) {
Topic t = new Topic();
t.set_id(cursor.getString(cursor.getColumnIndex("_id")));
t.setTitle(cursor.getString(cursor.getColumnIndex("title")));
t.setAnswerA(cursor.getString(cursor.getColumnIndex("answerA")));
t.setAnswerB(cursor.getString(cursor.getColumnIndex("answerB")));
t.setAnswerC(cursor.getString(cursor.getColumnIndex("answerC")));
t.setCorrect(cursor.getString(cursor.getColumnIndex("correct")));
t.setAnalysis(cursor.getString(cursor.getColumnIndex("analysis")));
t.setName(cursor.getString(cursor.getColumnIndex("name")));
topic.add(t);
}
for (int i = 0; i < topic.size(); i++) {
views.add(getLayoutInflater().inflate(R.layout.common_01, null));
//编号
TextView topic_id = views.get(i).findViewById(R.id.topic_id);
//题目
TextView topic_title = views.get(i).findViewById(R.id.topic_title);
//选项
RadioButton topic_radioButton_a = views.get(i).findViewById(R.id.topic_RadioButton_A);
RadioButton topic_RadioButton_B = views.get(i).findViewById(R.id.topic_RadioButton_B);
RadioButton topic_RadioButton_C = views.get(i).findViewById(R.id.topic_RadioButton_C);
//
topic_id.setText(topic.get(i).get_id());
topic_title.setText(topic.get(i).getTitle());
topic_radioButton_a.setText(topic.get(i).getAnswerA());
topic_RadioButton_B.setText(topic.get(i).getAnswerB());
topic_RadioButton_C.setText(topic.get(i).getAnswerC());
}
vp_viewPager.setAdapter(new MyAdapter());
}
2017-08-1113:59:02