猶豫了幾天 , 覺得還是把這個教程寫一下吧 。雖然在網(wǎng)上已經(jīng)一大堆了 , 但是這是我學習的歷程我覺得我還是該記錄下來 , 以后也可以溫故而知新 。
ListView在Android眾多控件中占有比較重要的地位 , 也是面試官熱愛提問的控件之一 , 特別是關于它的性能優(yōu)化 。這一塊我想著把它留到最后再說 , 我們先來談談ListView的簡單應用 , 畢竟什么東西都是由淺入深的嘛 。
首先我們要先創(chuàng)建一個項目 , 打開Android studio點擊File—New—New Project創(chuàng)建一個名為ListViewTest的項目 。接著找到res—layout文件夾下的activity_main.xml , 打開它并且在里面添加ListView控件如下:
<ListViewandroid:id="@+id/listview"android:layout_width="match_parent"android:layout_height="match_parent"></ListView>此時你如果運行項目你會發(fā)現(xiàn)里面什么都沒有 , 和剛開始創(chuàng)建的這個項目時沒多大區(qū)別 , 因為我們還沒有往里面添加數(shù)據(jù)并且在View中實現(xiàn)它 。所以我們回到MainActivity這個類里面通過findViewById()這個方法找到這個控件并且實現(xiàn) 。我們先定義一個名為data的一維字符串數(shù)組 , 用來存放我們的假數(shù)據(jù) 。然后通過新建一個ArrayAdapter并根據(jù)要求配置它 , 再Adapte通過setAdapter給ListView , 代碼如下:
private String data[] = {"aa","bb","cc","dd","aa","bb","cc","dd","aa","bb","cc","dd","aa","bb","cc","dd"};//假數(shù)據(jù)@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView listView = (ListView) findViewById(R.id.listview);//在視圖中找到ListViewArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);//新建并配置ArrayAapeterlistView.setAdapter(adapter); }點擊運行項目你就能看到一個簡單的ListView:

現(xiàn)在看到了界面了但是離我們的預想還是有點差距 , 我們希望的是除了能看還能點擊響應某些事件 , 因此我們再為它添加一個監(jiān)聽點擊的方法 。代碼如下:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {switch (i){case 0:Toast.makeText(MainActivity.this,"你點擊了"+i+"按鈕",Toast.LENGTH_SHORT).show();break;//當我們點擊某一項就能吐司我們點了哪一項case 1:Toast.makeText(MainActivity.this,"你點擊了"+i+"按鈕",Toast.LENGTH_SHORT).show();break;case 2:Toast.makeText(MainActivity.this,"你點擊了"+i+"按鈕",Toast.LENGTH_SHORT).show();break;case 3:Toast.makeText(MainActivity.this,"你點擊了"+i+"按鈕",Toast.LENGTH_SHORT).show();break;case 4:Toast.makeText(MainActivity.this,"你點擊了"+i+"按鈕",Toast.LENGTH_SHORT).show();break;}}});這里我就給了5項Item做了響應 , 當然也可以讓每一項都有響應的 , 有興趣自己可以去嘗試 。這樣一個非常簡單的ListView就完成了 , 接下來我們來深入一點點 。現(xiàn)在我們要定制一個有圖片有文字有選擇框的ListView , 怎么做呢?第一個我們肯定要把數(shù)據(jù)改一下 , 但是我們肯定不可能說把數(shù)組data改成二維數(shù)據(jù)就可以的 , 因為圖片不是字符串的形式啊 。那要包含字符串又能包含圖片的數(shù)據(jù)格式有什么呢?這時Bean類就出現(xiàn)了 , 我們可以把這些數(shù)據(jù)封裝到一個Bean類里面啊 , 當我們需要的時候就直接拿出來就好 。說做就做然后我們定義一個myBean類 , 代碼如下:
推薦閱讀
- 合并視頻的軟件 視頻合成神器
- 性價比比較高的手機 性價比最好的手機前七位
- 錄歌用什么軟件好 一鍵修音的唱歌軟件
- pc安卓模擬器哪個好用 PC端最穩(wěn)定的安卓模擬器
- 免費將pdf轉(zhuǎn)換成word 永久免費的pdf轉(zhuǎn)換器
- 自己貼膜教程 新手自己貼鋼化膜的技巧
- ios自動化測試 手機自動化測試的優(yōu)缺點
- 免費提取伴奏的軟件 最強的伴奏提取軟件
- 錄音轉(zhuǎn)文字工具 電話錄音轉(zhuǎn)文字的軟件
- 顯示器屏幕測試 測試電腦屏幕的軟件
