• 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

  • 相关阅读:
    The 9th SWJTU ACM Final Tutorial
    The 9th SWJTU ACM Online Tutorial
    ACdream群赛(5) D Palindrome
    ACdream群赛(5)总结
    The 9th SWJTU ACM Qualification Tutorial
    IIUC Inter University Programming Contest 2012总结
    曾经流行的,即将流行的几种渲染模式(render pipeline)
    ogre线程及其死锁问题
    crysis shader系统简单分析
    编译并集成mono 2.6.4到应用程序中
  • 原文地址:https://www.cnblogs.com/lzx2509254166/p/7345596.html
Copyright © 2020-2023  润新知