zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    [Delphi] 两种类的声明方法
    [Delphi]TMemoryStatus获取内存信息
    各大网站架构总结笔记[转]
    常用CSS命名参考资料
    常用的CSS Reset
    网页制作之CSS超级技巧
    SQL服务无法正常启动及数据库卸载
    常用CSS缩写语法
    视频播放器代码参数详解
    优秀的 Web 开发人员是这样炼成的
  • 原文地址:https://www.cnblogs.com/lzx2509254166/p/7345596.html
Copyright © 2011-2022 走看看