亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android的問卷調(diào)查客戶端題目分頁(yè)加載實(shí)現(xiàn)

        2013-12-31 00:00:00顧東虎李紅育

        摘 要:本文根據(jù)對(duì)Android問卷調(diào)查客戶端問卷題目的分析的結(jié)果,設(shè)計(jì)出題目加載視圖的布局,并對(duì)題目分頁(yè)加載的實(shí)現(xiàn)提出了詳細(xì)方案。

        關(guān)鍵詞:Android;問卷調(diào)查客戶端;分頁(yè)加載

        中圖分類號(hào):TP311.52

        1 基于Android的問卷調(diào)查客戶端簡(jiǎn)介

        基于Android的問卷調(diào)查系統(tǒng)由兩個(gè)子系統(tǒng)構(gòu)成,分別為基于Windows的問卷設(shè)計(jì)子系統(tǒng)和基于Android的調(diào)查客戶端子系統(tǒng)。兩端的問卷數(shù)據(jù)接口使用XML標(biāo)準(zhǔn)數(shù)據(jù)文件?;贏ndroid的問卷調(diào)查客戶端核心模塊為問卷問題的分頁(yè)加載。

        2 問卷視圖的布局分析

        問題的加載用到多個(gè)視圖布局的嵌套。questionActivity下的問題列表視圖需要一個(gè)布局,問題列表視圖下選擇題的備選答案列表又需要一個(gè)布局,備選答案列表中答案項(xiàng)根據(jù)單選或多選又需要不同的答案項(xiàng)布局。列表嵌套布局如圖1所示。

        3 問題分頁(yè)加載顯示實(shí)現(xiàn)主流程

        問卷問題分頁(yè)加載顯示程序?qū)崿F(xiàn)主流程如下所述:

        (1)在questionActivity問卷界面類下將XML問卷數(shù)據(jù)解析到paper問卷對(duì)象中。

        (2)questionActivity獲得paper對(duì)象后調(diào)用GetPaperCount方法,根據(jù)問卷各問題的分頁(yè)索引獲取到問題分頁(yè)總頁(yè)數(shù)。

        (3)當(dāng)要加載顯示某頁(yè)對(duì)應(yīng)的問題列表時(shí),通過調(diào)用titleAdaper適配器對(duì)象的方法getPageQuestionList,傳入當(dāng)前頁(yè)碼獲取到當(dāng)前頁(yè)的問題對(duì)象列表questionPageList。

        (4)在questionActivity對(duì)應(yīng)的問題列表視圖適配器類titleAdapter繼承自BaseAdapter適配器基類。在titleAdapter下重寫getCount、getItem、getItemId、GetView系列方法,使getCount返回questionPageList列表的長(zhǎng)度,getItem獲取當(dāng)前position的問題對(duì)象,getItemId返回當(dāng)前position(位置)值。GetView方法在questionActivity對(duì)應(yīng)的列表視圖(ListView)對(duì)象的請(qǐng)求下每次自動(dòng)得到一個(gè)position的問題的視圖。如果問題列表questionPageList長(zhǎng)度為N,則GetView被自動(dòng)請(qǐng)求N次獲得questionPageList列表的所有問題視圖給questionActivity視圖對(duì)象。

        4 分頁(yè)計(jì)算

        GetPaperCount方法用于根據(jù)問卷對(duì)象paper下的問題列表各問題的分頁(yè)索引index計(jì)算總頁(yè)數(shù)。根據(jù)用戶需求,問題列表各問題在哪一頁(yè),由問卷設(shè)計(jì)員設(shè)計(jì)問卷時(shí)來(lái)設(shè)置。假設(shè)某問題在第N頁(yè),分頁(yè)索引應(yīng)該設(shè)置為(N-1)×100到(N-1)×200-1之內(nèi)。比如某問題在第2頁(yè),其索引值應(yīng)為100到199之間的值。

        由此可見,GetPaperCount方法獲取總頁(yè)數(shù)算法實(shí)現(xiàn)流程如下所述:

        (1)設(shè)置最大索引變量maxIndex,初始化為0。并循環(huán)遍歷paper問卷對(duì)象下的問題列表,獲取所有問題的最大索引值到maxIndex。

        (2)遍歷結(jié)束后,計(jì)算總頁(yè)數(shù)為:count=(int)(maxIndex/100)+1。

        5 根據(jù)當(dāng)前頁(yè)碼獲取問題列表

        getPageQuestionList方法用于根據(jù)當(dāng)前頁(yè)碼獲取問題列表。本方法根據(jù)傳入的頁(yè)碼計(jì)算出問題的對(duì)應(yīng)的索引范圍,遍歷paper對(duì)象問題列表的所有問題,獲取到問題分頁(yè)索引處于該索引范圍的問題對(duì)象并添加到分頁(yè)問題列表questionPageList中。

        questionActivity對(duì)應(yīng)的問題列表視圖數(shù)據(jù)適配器類titleAdapter中的GetView方法的運(yùn)行機(jī)制在前面已經(jīng)做過敘述。GetView方法單次獲取問題對(duì)象視圖實(shí)現(xiàn)流程如下所述:

        (1)GetView方法得到questionActivity問題列表視圖quelist一次視圖請(qǐng)求即獲取到請(qǐng)求位置position。

        (2)獲取分頁(yè)問題列表questionPageList當(dāng)前position下的問題對(duì)象question。

        (3)從單個(gè)問題顯示的布局文件question_item.xml中獲取用于顯示問題內(nèi)容的TextView對(duì)象txtTitle和用于顯示選擇題備選答案列表或問答題文本編輯框的ListView對(duì)象lvChecks。

        (4)獲取question對(duì)象的_qTitle(問題標(biāo)題)字段的值加載到txtTitle。

        (5)獲取question對(duì)象的_qType(問題類型)字段并判斷。如果_qType為單選題,則為備選答案視圖對(duì)象lvChecks創(chuàng)建數(shù)據(jù)適配器ArrayAdapter類的對(duì)象adapter。在數(shù)據(jù)適配器中調(diào)用GetQuestionAnswers方法獲取到當(dāng)前問題的備選答案字符串?dāng)?shù)組加載。適配器加載的每項(xiàng)備選答案為單選題單個(gè)備選答案布局文件。設(shè)置adapter為lvChecks的數(shù)據(jù)適配器。設(shè)置lvChecks備選答案列表的選擇模式為單選。最后調(diào)用loadQuestionAnswers方法向lvChecks加載顯示默認(rèn)答案的選中狀態(tài)。

        (6)如果_qType為多選題,流程與單選題類似。不同之處在于備選答案項(xiàng)對(duì)應(yīng)的布局文件為適配器加載的每項(xiàng)備選答案對(duì)應(yīng)的多選題備選答案布局文件,lvChecks備選答案列表的選擇模式為多選。

        (7)如果_qType為問答題,則為答案視圖對(duì)象lvChecks創(chuàng)建數(shù)據(jù)適配器TextQuestionAdapter類的對(duì)象adapter。在數(shù)據(jù)適配器GetView中創(chuàng)建文本編輯框控件對(duì)象txtedit,并根據(jù)對(duì)象question的答案數(shù)據(jù)類型點(diǎn)擊文本框時(shí)加載不同的輸入法。設(shè)置adapter為lvChecks的數(shù)據(jù)適配器。

        6 總結(jié)

        基于Android的調(diào)查客戶端問卷問題分頁(yè)加載顯示的實(shí)現(xiàn)復(fù)雜在多個(gè)視圖布局的嵌套,問卷問題列表需要列表視圖布局顯示,問題備選答案列表也需要列表視圖布局顯示,而單選、多選題目的備選答案項(xiàng)又需要不同的布局。

        參考文獻(xiàn):

        [1]張旭.電信運(yùn)營(yíng)商空中營(yíng)業(yè)廳系統(tǒng)客戶端的研究與設(shè)計(jì)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012,13:185-186.

        [2]朱德平.Spring軟件開發(fā)框架新組件探討[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013,12:61-62.

        [3]狄榮.基于Android的進(jìn)銷存系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013,06:130-131.

        作者簡(jiǎn)介:顧東虎(1980.8-),男,山西大同人,碩士,講師,工程師職稱,主要研究方向:軟件工程、嵌入式系統(tǒng)及數(shù)據(jù)存儲(chǔ);李紅育(1983.2-),男,河南新鄭人,碩士,講師,工程師職稱,主要研究方向:軟件工程、嵌入式數(shù)據(jù)存儲(chǔ)。

        作者單位:云南工商學(xué)院,昆明 651700

        麻豆精品一区二区三区| 亚洲夜夜骑| 8090成人午夜精品无码| 亚洲综合国产精品一区二区| 亚洲youwu永久无码精品| 欧美bbw极品另类| 传媒在线无码| 中文字幕日韩一区二区不卡| 蜜桃18禁成人午夜免费网站| 亚洲女初尝黑人巨高清 | 亚洲va欧美va日韩va成人网| 日日躁夜夜躁狠狠躁超碰97| 久久这里有精品国产电影网| 亚洲国产成人va在线观看天堂| 亚洲va韩国va欧美va| 欧美人与动人物姣配xxxx| 女同性恋精品一区二区三区| 麻豆视频黄片在线免费观看| 大地资源高清在线视频播放| 欧美日韩精品一区二区三区不卡| 欧美日韩综合在线视频免费看| 亚洲捆绑女优一区二区三区| 韩国三级大全久久网站| 亚洲日韩乱码中文无码蜜桃臀| 美女视频永久黄网站免费观看国产| 国产视频一区二区三区观看 | 亚洲综合久久精品少妇av| 国产欧美一区二区精品久久久| 国产亚洲精品第一综合麻豆| 亚洲中文字幕精品一区二区| 国产精品日韩av一区二区三区| 国产99久久久国产精品免费看| 99福利网| 精品国模人妻视频网站| 伊人久久大香线蕉av波多野结衣 | 人人妻人人玩人人澡人人爽 | 99久久国语露脸精品国产| 少妇一级aa一区二区三区片| 国产精品日韩经典中文字幕| 亚洲av无码一区二区三区人妖 | 国产精品亚洲一区二区三区在线 |