ListView案例的筆記 Nov 27th

1創(chuàng)建項(xiàng)目

2完成布局文件

來(lái)到左側(cè)項(xiàng)目文件夾目錄中的res-layout下,打開activity-layout.xml

屏幕中央界面如下圖:


點(diǎn)擊紅框所表明的按鈕予颤,進(jìn)入該xml文件的代碼編輯頁(yè)面挠乳,在這里我們通過(guò)編寫不同代碼冰悠,可以控制界面的顯示效果鸟缕。

在代碼編輯頁(yè)面中鸭限,通過(guò)以下代碼,可以生成一個(gè)ListView舷胜。

"http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

android:id="@+id/lv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

再點(diǎn)擊下圖中紅框所示位置娩践,查看預(yù)覽效果:


3給ListView設(shè)置數(shù)據(jù)

3.1找到控件

在項(xiàng)目的src文件夾中的包下活翩,找到并打開MainActivity.Java文件烹骨,然后在onCreate方法中,寫下面的代碼:

//1找到控件

ListViewlv= (ListView)findViewById(R.id.lv);

如下圖:


報(bào)錯(cuò)的話材泄,鼠標(biāo)點(diǎn)擊報(bào)錯(cuò)的代碼處沮焕,按下ctrl+1,進(jìn)行快速修復(fù)拉宗。

3.2生成一些數(shù)據(jù)方便展示

接下來(lái)生成一些數(shù)據(jù)峦树,用來(lái)展示。寫下面的代碼:

//2生成一些數(shù)據(jù)旦事,方便到時(shí)候展示

String[]data=newString[]{"張三","李四","王五","趙六","錢七"};

如下圖:


3.3設(shè)置數(shù)據(jù)源

接下來(lái)設(shè)置數(shù)據(jù)源魁巩,寫代碼如下:


//3設(shè)置數(shù)據(jù)源

//3.1通過(guò)setAdapter來(lái)進(jìn)行設(shè)置

lv.setAdapter(adapter);

如下圖:


發(fā)現(xiàn)lv.setAdapter(adapter)報(bào)錯(cuò)。報(bào)錯(cuò)的原因是:adpater還沒(méi)創(chuàng)建出來(lái)姐浮。

3.4創(chuàng)建adapter

Adapter其實(shí)是一個(gè)數(shù)據(jù)適配器谷遂,listview控件就是通過(guò)adapter來(lái)設(shè)置數(shù)據(jù)的。我們這里創(chuàng)建一個(gè)代表adapter的類Class卖鲤。

先右鍵包名肾扰,然后選擇”New”-“class”畴嘶。如下圖


然后給Class起名為:MyAdapter,再點(diǎn)擊finfish集晚。如下圖:


右邊的窗口展示的代碼如下圖:


這里讓它繼承自BaseAdapter(這是所有種類的adapter中最頻繁使用的一種)窗悯,代碼如下:

publicclassMyAdapterextendsBaseAdapter{

}

如下圖:


發(fā)現(xiàn)報(bào)錯(cuò),使用ctrl+1進(jìn)行快速修復(fù)偷拔。如下圖:


還是發(fā)現(xiàn)報(bào)錯(cuò)蒋院,使用ctrl+1進(jìn)行快速修復(fù)。如下圖:



修復(fù)后發(fā)現(xiàn)多增加了一些方法莲绰,如下圖:


在這里對(duì)這些方法進(jìn)行介紹:

getCount()的返回結(jié)果代表ListView有多少條數(shù)據(jù)悦污。

getItem和getItemId暫時(shí)不用處理。

getView()的返回結(jié)果代表ListView對(duì)應(yīng)的某個(gè)位置上的那個(gè)條目的視圖控件钉蒲,我們每個(gè)條目長(zhǎng)成什么樣子就是由該方法進(jìn)行控制的切端。

回到MainActivity.Java文件。我們來(lái)解決先前的報(bào)錯(cuò)顷啼。報(bào)錯(cuò)如下圖:


我們這個(gè)時(shí)候已經(jīng)把a(bǔ)dapter創(chuàng)建好了踏枣,直接new一個(gè)MyAdapter出來(lái)。代碼如下:



運(yùn)行一下查看效果钙蒙,發(fā)現(xiàn)什么都沒(méi)有茵瀑,如下圖:



那是因?yàn)槲覀冞€沒(méi)有把MyAdapter中的那幾個(gè)方法進(jìn)行設(shè)置。

接下來(lái)打開MyAdapter.Java躬厌,把那幾個(gè)自動(dòng)生成的方法來(lái)寫一下马昨。

首先,我們需要拿到上下文環(huán)境和第3.2步中生成的數(shù)據(jù)扛施,才能夠完成那些方法的邏輯鸿捧。

在MyAdapter中通過(guò)寫這些代碼:

privateContextmyContext;

privateString[]myData;

//利用該方法,拿到上下文和數(shù)據(jù)

publicMyAdapter(Context

context,String[] data) {

//TODOAuto-generated constructor stub

myContext= context;

myData= data;

}

如下圖:


PS:報(bào)錯(cuò)的話疙渣,按ctrl+1進(jìn)行快速修復(fù)匙奴。

拿到數(shù)據(jù)后,就可以開始設(shè)置了:

getCount方法中這樣寫:


getItem和getItemId方法不用設(shè)置

getView方法中這樣寫:

//創(chuàng)建一個(gè)文本

TextView textView =newTextView(myContext);

//設(shè)置文本

textView.setText(myData[position]);

//設(shè)置高度

textView.setHeight(40);

//設(shè)置居中

textView.setGravity(Gravity.CENTER);

//將該文本控件

returntextView;

如下圖:


這個(gè)時(shí)候妄荔,我們已經(jīng)完成了adapter數(shù)據(jù)源的設(shè)置了泼菌。

再回到MainActivity.Java中,發(fā)現(xiàn)報(bào)錯(cuò)了啦租,如下圖:


改一下報(bào)錯(cuò)的地方哗伯。修改為下圖所示:


3.5運(yùn)行并進(jìn)行測(cè)試


運(yùn)行項(xiàng)目到模

擬器上,查看效果篷角。

??\\\\u???

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末焊刹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伴澄,老刑警劉巖赋除,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異非凌,居然都是意外死亡举农,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門敞嗡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)颁糟,“玉大人,你說(shuō)我怎么就攤上這事喉悴±饷玻” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵箕肃,是天一觀的道長(zhǎng)婚脱。 經(jīng)常有香客問(wèn)我,道長(zhǎng)勺像,這世上最難降的妖魔是什么障贸? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮吟宦,結(jié)果婚禮上篮洁,老公的妹妹穿的比我還像新娘。我一直安慰自己殃姓,他們只是感情好袁波,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蜗侈,像睡著了一般篷牌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宛篇,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天娃磺,我揣著相機(jī)與錄音,去河邊找鬼叫倍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛豺瘤,可吹牛的內(nèi)容都是我干的吆倦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼坐求,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蚕泽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤须妻,失蹤者是張志新(化名)和其女友劉穎仔蝌,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荒吏,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敛惊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绰更。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞧挤。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖儡湾,靈堂內(nèi)的尸體忽然破棺而出特恬,到底是詐尸還是另有隱情,我是刑警寧澤徐钠,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布癌刽,位于F島的核電站,受9級(jí)特大地震影響尝丐,放射性物質(zhì)發(fā)生泄漏妒穴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一摊崭、第九天 我趴在偏房一處隱蔽的房頂上張望讼油。 院中可真熱鬧,春花似錦呢簸、人聲如沸矮台。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瘦赫。三九已至,卻和暖如春蛤迎,著一層夾襖步出監(jiān)牢的瞬間确虱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工替裆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留校辩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓辆童,卻偏偏與公主長(zhǎng)得像宜咒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子把鉴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容