欧美videos另类精品-欧美videos另类极品-欧美vide-欧美va在线视频-欧美va在线观看-欧美va在线播放免费观看

TinyUI-TUIListView最簡(jiǎn)單的使用

2020-4-7    seo達(dá)人

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



        列表組件/控件作為目前Android/iOS的APP中最常用的控件,該控件的設(shè)計(jì)同時(shí)參考Android、windows、Qt等使用的經(jīng)驗(yàn)進(jìn)行篩選,最終選擇了Android的ListView設(shè)計(jì),其他平臺(tái)的列表中使用難以程度或設(shè)計(jì)上略遜于Android,因?yàn)锳ndroid給與了開發(fā)者最大的發(fā)揮控件,你可以在列表中可以顯示任何控件。



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



        本篇既然是TUIListView最簡(jiǎn)單的使用,我們就使用TUISimpleAdapter來(lái)顯示文本你列表,TUISimpleAdapter最好只用于數(shù)據(jù)步發(fā)生變化的情況,因?yàn)槠浯娣诺臄?shù)據(jù)使用了C++標(biāo)準(zhǔn)庫(kù)的vector容器,而非使用list容器,vector容器的特點(diǎn)是訪問(wèn)速度快,但其缺點(diǎn)是vector的內(nèi)存是連續(xù)的,因此內(nèi)容發(fā)生變化可能會(huì)造成內(nèi)存申請(qǐng)和拷貝的動(dòng)作;而list容器使用的雙向鏈表,其特點(diǎn)是插入數(shù)據(jù)快,但訪問(wèn)速度慢。



        本篇我們?nèi)匀皇褂蒙弦黄凶远x的MyWindow來(lái)顯示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. 填充數(shù)據(jù),并把a(bǔ)dapter設(shè)置到listView中



    MyWindow.cpp


    include "MyWindow.h"

     

     

     

    MyWindow::MyWindow(TUIWindow* parent)

        : TUIWindow(parent)

    {

        setContentView(&this->listView); // 把listView作為當(dāng)前窗口的內(nèi)容視圖

     

     

        vector<string> data; // 使用vector<string>類型的data存放數(shù)據(jù)

     

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

        {

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

        }

     

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

     

        this->listView.setAdapter(&this->adapter); // 把a(bǔ)dapter設(shè)置到listView,作為listView數(shù)據(jù)來(lái)源和操作對(duì)象

    }

     

    MyWindow::~MyWindow()

    {

    }

     

    void MyWindow::onShow()

    {

    }

     

    void MyWindow::onClose()

    {

    }

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


日歷

鏈接

個(gè)人資料

存檔

主站蜘蛛池模板: 我被黄总征服的全过程 | 四虎国产精品免费入口 | 国产一区二区三区日韩 | 精品一久久香蕉国产线看观 | 青草国内精品视频在线观看 | 亚洲视频男人的天堂 | 金牛网155755水心论坛黄大父母 | 玩两个少妇女邻居 | 国产一区二区播放 | 日日摸日日添日日透 | 3d动漫美女被吸乳羞羞视频 | 成熟女人50岁一级毛片不卡 | 5151hh四虎国产精品 | 青草视频在线观看免费资源 | 4455四色永久免费 | 超h 超重口 高h 污肉1v1 | 天天综合色网 | 青草视频在线观看免费网站 | 欧美日韩专区国产精品 | 美女翘臀跪床被打屁股作文 | 日韩r | 幸福草电视剧演员表介绍 | 国产精品久久久久久久免费大片 | 91手机看片国产永久免费 | 男人香蕉好大好爽视频 | 国产免费看黄的私人影院 | 四虎永久免费地址ww417 | 精品麻豆 | a一区二区三区视频 | 国产精品久久久久网站 | 成人做视频免费 | 韩国三级在线观看 完整版 韩国三级视频网站 | 大胸孕妇孕交pregnantsex 大象视频污 | 日本高清在线看免费观看 | 韩日一区二区三区 | 91香蕉视频在线 | 动漫美丽妇人1~2在线看 | 色v在线| 精品国产免费久久久久久 | 秘书喂奶好爽一边 | 奇米影视99 |