亚洲免费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

        亚洲综合激情另类小说区| 亚洲嫩模一区二区三区视频| 久久久免费精品国产色夜| 欲女在线一区二区三区| 亚洲熟妇无码一区二区三区导航| 麻豆国产人妻欲求不满| 久久亚洲精彩无码天堂| 国产激情一区二区三区成人| 台湾佬中文网站| 国产成a人亚洲精v品无码性色| 国产av一区二区三区区别| 国产午夜三级精品久久久| www夜插内射视频网站| 久久久天堂国产精品女人| 日韩五十路| 亚洲中文字幕第一页免费 | 热热久久超碰精品中文字幕| 亚洲国产成人久久精品不卡| 中文字幕日韩人妻不卡一区| 国产高清视频91| 久久精品国产亚洲av调教| 国产成年人毛片在线99| 国产一极内射視颍一| 亚洲欧洲精品国产二码| 蜜桃视频成年人在线观看| 97se色综合一区二区二区| 国产96在线 | 欧美| 欧美破处在线观看| 久久久人妻一区二区三区蜜桃d| av色欲无码人妻中文字幕| 肉体裸交丰满丰满少妇在线观看| 性色av成人精品久久| 中文字幕乱码在线人妻| 亚洲伊人色欲综合网| 2021国产精品久久| 日本国产一区二区在线观看| 青青草原亚洲| 国产亚洲日韩欧美一区二区三区| 国产一区二区三区视频了 | 精品日本免费观看一区二区三区| 国产国产精品人在线视|