<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • TinyUI-TUIListView最簡單的使用

    2020-4-7    seo達人

          在TinyUI簡介的博客中提到其特點中包含一條,即多數大控件的使用方法和android一直,除了語言差異之外,本篇我們就介紹列表控件TUIListView最簡單的使用方法。



            列表組件/控件作為目前Android/iOS的APP中最常用的控件,該控件的設計同時參考Android、windows、Qt等使用的經驗進行篩選,最終選擇了Android的ListView設計,其他平臺的列表中使用難以程度或設計上略遜于Android,因為Android給與了開發者最大的發揮控件,你可以在列表中可以顯示任何控件。



            TUIListView中的每一行每一列你可以放置任何UI組件,使用TUIListView需要配合TUIAdapter進行使用,而TinyUI和Android一樣提供了內置的簡單使用的TUISimpleAdapter。TUISimpleAdapter主要用于顯示文本(即每一行都是只能顯示文字),如果需要在列表中顯示其他UI組件,則需要自定義一個Adapter,關于自定義Adapter將在后續進行詳細講解。



            本篇既然是TUIListView最簡單的使用,我們就使用TUISimpleAdapter來顯示文本你列表,TUISimpleAdapter最好只用于數據步發生變化的情況,因為其存放的數據使用了C++標準庫的vector容器,而非使用list容器,vector容器的特點是訪問速度快,但其缺點是vector的內存是連續的,因此內容發生變化可能會造成內存申請和拷貝的動作;而list容器使用的雙向鏈表,其特點是插入數據快,但訪問速度慢。



            本篇我們仍然使用上一篇中自定義的MyWindow來顯示TUIListView。



    使用方法/步驟

    1. 定義listView和andapter



              MyWindow中包含TUISimpleAdapter.h的頭文件,并定義listView和adapter



      MyWindow.h


      ifndef MY_WINDOW_H

      define MY_WINDOW_H

      include <TUIWindow.h>

      include <TUISimpleAdapter.h>

       

       

       

      class MyWindow : public TUIWindow

      {

      public:

          MyWindow(TUIWindow* parent = nullptr);

          virtual ~MyWindow();

       

          void onShow();

          void onClose();

       

      private:

          TUIListView listView;

          TUISimpleAdapter adapter;

      };

       

      endif // !MY_WINDOW_H

       


    2. 填充數據,并把adapter設置到listView中



      MyWindow.cpp


      include "MyWindow.h"

       

       

       

      MyWindow::MyWindow(TUIWindow* parent)

          : TUIWindow(parent)

      {

          setContentView(&this->listView); // 把listView作為當前窗口的內容視圖

       

       

          vector<string> data; // 使用vector<string>類型的data存放數據

       

          for (int32_t i = 0; i < 20; i++)

          {

              data.push_back(to_string(i)); // 生成0~20的數值-轉換成字符串,放到data中

          }

       

          this->adapter.setData(data); // 把data設置到adapter中

       

          this->listView.setAdapter(&this->adapter); // 把adapter設置到listView,作為listView數據來源和操作對象

      }

       

      MyWindow::~MyWindow()

      {

      }

       

      void MyWindow::onShow()

      {

      }

       

      void MyWindow::onClose()

      {

      }

      到目前為止窗口顯示列表控件已全部完成,接下來和上一篇一樣調用MyWindow的show()方法即可顯示,最終結果如下圖所示:


    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 亚洲乱码精品久久久久..| 国产精品一久久香蕉国产线看| 久久国产乱子伦免费精品| 国产精品九九久久免费视频 | 国产午夜精品久久久久免费视| 精品久久久久久无码中文野结衣| 久久精品国产亚洲AV高清热| 欧美精品区一级片免费播放| 99热这里只有精品国产66| 2022国产精品自产拍在线观看| 亚洲精品无码午夜福利中文字幕 | 久久精品国产清高在天天线| 日韩精品一区二区三区中文字幕 | 99国产精品私拍pans大尺度| 国产亚洲综合成人91精品| 国产日韩精品欧美一区喷水| 亚洲精品国产av成拍色拍| 欧美精品福利视频一区二区三区久久久精品 | 少妇人妻偷人精品视频| 亚洲精品第一国产综合境外资源 | 99国产精品一区二区| 精品欧洲av无码一区二区| 亚洲精品无码MV在线观看| 亚洲国产精品日韩专区AV| 久久国产精品偷99| 国产精品热久久毛片| 国产精品高清免费网站| 国产成人精品亚洲精品| 911亚洲精品国内自产| 93精91精品国产综合久久香蕉| 99久久99久久精品国产片果冻 | 四虎国产精品永久地址99| 国产欧美久久久精品| laowang在线精品视频| 99精品视频在线观看| 91麻豆国产福利精品| 国内精品久久久久影院免费| 永久免费精品视频| 国产高清在线精品一区二区| 国产成人精品久久亚洲| 精品露脸国产偷人在视频|