溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

安卓重要組件#1--ListView創(chuàng)建及基本的使用方法

發(fā)布時(shí)間:2020-07-20 18:58:30 來源:網(wǎng)絡(luò) 閱讀:973 作者:MEMORY_YI_1 欄目:開發(fā)技術(shù)

第一次寫有關(guān)安卓技術(shù)的博客,有什么地方寫的不好的請(qǐng)大家見諒。如果大家發(fā)現(xiàn)本人寫的博客中有什么需要錯(cuò)誤的地方或者疑問可以給我留言。


好了話不多說開始向介紹今天的內(nèi)容

1:首先創(chuàng)建一個(gè)listView控件(控件位于Composite里面的第一個(gè),如圖所示)

安卓重要組件#1--ListView創(chuàng)建及基本的使用方法

2:讓我們打開layout布局的代碼形式,這里有一個(gè)關(guān)鍵的地方要注意,listView控件的高度要設(shè)置成固定高度(或者match_parent)不能讓其隨著文本的而增長(zhǎng)(如圖所示)。如果不這樣設(shè)置會(huì)導(dǎo)致顯示出來的文本會(huì)亂跳或者串行。這樣我們就做好的listView的布局

安卓重要組件#1--ListView創(chuàng)建及基本的使用方法

3:接下來讓我們來看下具體代碼操作(所有代碼均寫在oncreate()方法內(nèi))

(1):獲取控件中ListView對(duì)象

ListView listView = (ListView) findViewById(R.id.listView1);

(2):新建一個(gè)適配器對(duì)象baseAdapter(別看代碼長(zhǎng)其實(shí)是由于baseAdapter實(shí)現(xiàn)adapter接口需要重寫方法,所以方法都是自動(dòng)產(chǎn)生的大家只需新建對(duì)象即可)

BaseAdapter adapter = new BaseAdapter() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                return null;
            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
            @Override
            public long getItemId(int position) {
                // TODO Auto-generated method stub
                return 0;
            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
            @Override
            public Object getItem(int position) {
                // TODO Auto-generated method stub
                return null;
            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return 0;
            }
        };

(3):這時(shí)候要跟大家說說listView的特點(diǎn)了,listView是由一個(gè)個(gè)相同的行布局組成的控件,所以這時(shí)候我們需要?jiǎng)?chuàng)建行布局。(如圖所示)

安卓重要組件#1--ListView創(chuàng)建及基本的使用方法

(4):讓我們回到代碼,adpter里面有個(gè)getcount()方法用于指定你所需要在屏幕上顯示的行布局的數(shù)量,例如你需要10個(gè)那么就return 10,系統(tǒng)運(yùn)行時(shí)就會(huì)根據(jù)return數(shù)量來執(zhí)行相對(duì)應(yīng)次數(shù)的getView()方法

@Override
            public int getCount() {
                // TODO Auto-generated method stub
                return 10;
            }

(5):adpter里面有個(gè)getView方法用于找到行布局(以下代碼都是在getView()方法):

(5)-1: 將行布局轉(zhuǎn)化為對(duì)象(第一個(gè)參數(shù)為行布局id,第二個(gè)為null占時(shí)還用不到)

View layout = getLayoutInflater().inflate(R.layout.list, null);

(5)-2: 將行布局對(duì)象return

return layout;

以下就是baseAdapter的完整的代碼(由于插入代碼功能會(huì)讓格式亂套所以我就直接復(fù)制代碼過來)

BaseAdapter adapter = new BaseAdapter() {


@Override

public View getView(int position, View convertView, ViewGroup parent) {

View layout = getLayoutInflater().inflate(R.layout.list, null);

return layout;

}


@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}


@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}


@Override

public int getCount() {

// TODO Auto-generated method stub

return 10;

}

};

(6):最后我們將調(diào)用listView對(duì)象的setadapter方法將寫好的adapter對(duì)象放進(jìn)去,好了大功告成


listView.setAdapter(adapter);



(7):運(yùn)行結(jié)果+完成的java代碼

安卓重要組件#1--ListView創(chuàng)建及基本的使用方法

4:這就是listview控件的基本使用方法,我會(huì)吧整個(gè)程序打包如果有需要的話可以拿去看看.下次博客我會(huì)為大家介紹怎么為行布局里面的控件添加不同的內(nèi)容和listView的服用。(小弟第一次寫博客忘多關(guān)照,未完待續(xù)。。。。。)


附件:http://down.51cto.com/data/2363312
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI