viewpager+layout布局文件随数据多少创建滑动页面

近期在做一个答题类型的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

原文地址:https://www.cnblogs.com/lzx2509254166/p/7345596.html