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

  • 相关阅读:
    [luogu4799 CEOI2015 Day2] 世界冰球锦标赛(折半搜索)
    [luogu3230 HNOI2013] 比赛 (搜索+Hash)
    [luogu2317 HNOI2005] 星际贸易 (dp)
    [luogu2414 NOI2011]阿狸的打字机 (AC自动机)
    [bzoj3507 Cqoi2014]通配符匹配 (hash+DP)
    [luogu2054 AHOI2005] 洗牌 (数论)
    bzoj1491 [NOI2007]社交网络
    bzoj1022 [SHOI2008]小约翰的游戏John
    bzoj1088 [SCOI2005]扫雷Mine
    bzoj1295 [SCOI2009]最长距离
  • 原文地址:https://www.cnblogs.com/lzx2509254166/p/7345596.html
Copyright © 2011-2022 走看看