Android學(xué)習(xí)筆記09—ListView開發(fā)詳解(一)

引言

ListView是Android中最常用的控件之一,幾乎所有的應(yīng)用程序都會用到它。由于手機屏幕空間都比較有限,能夠一次性在屏幕上顯示的內(nèi)容并不多,當(dāng)我們的程序中有大量的數(shù)據(jù)需要展示的時候,可以借助ListView來實現(xiàn)。

總體流程

  • 新建一個Module,并讓XxxActivity繼承ListActivity
  • 創(chuàng)建一個列表選項的字符串?dāng)?shù)組對象
  • 實例化并初始化列表選項數(shù)組對象
  • 創(chuàng)建一個數(shù)組適配器(Adapter),用于裝載基礎(chǔ)數(shù)據(jù)并設(shè)置列表選型的顯示樣式
  • 將創(chuàng)建好的適配器綁定到窗體默認的ListView組件中
  • 重寫onListItemClick()方法完成對列表選項的單擊事件處理
用法示例

Step-1 新建一個Activity窗體類

新建Activity.JPG

使用ListView,窗體類必須繼承android.app.ListActivity

注意:窗體類在繼承ListActivity之后,無需與布局資源綁定

public class MainActivity extends ListActivity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
}

Step-2 創(chuàng)建一個列表選項的字符串?dāng)?shù)組對象

private String[] listItems;

Step-3 實例化并初始化列表選項數(shù)組對象

listItems = new String[]{"AdvanceListView","TwoListView","ThirdListView"}; 

Step-4 創(chuàng)建一個數(shù)組適配器(Adapter),用于裝載基礎(chǔ)數(shù)據(jù)并設(shè)置列表選型的顯示樣式

語法:ArrayAdapter<String> adapter = new ArrayAdapter(Context,int,T[ ]);
參數(shù)1:上下文環(huán)境
參數(shù)2:列表選項樣式布局
參數(shù)3:列表數(shù)據(jù)源

ArrayAdapter<String> adapter = new ArrayAdapter(this,
                 android.R.layout.simple_list_item_1,
                                          listItems);

Step-5 將創(chuàng)建好的適配器綁定到窗體默認的ListView組件中

setListAdapter(adapter);

Step-6 重寫onListItemClick()方法完成對列表選項的單擊事件處理

語法:protected void onListItemClick(ListView l, View v, int position, long id)
參數(shù)1:當(dāng)前操作的ListView組件對象
參數(shù)2:當(dāng)前選擇的列表選項視圖對象
參數(shù)3:當(dāng)前選中的列表選項的下標位置標識(默認從0開始)
參數(shù)4:當(dāng)前選中的id編號(長整型類型)

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    switch (position){
        case 0:
            Toast.makeText(MainActivity.this,"選擇["+listItems[position]+"]",Toast.LENGTH_SHORT).show();
            break;
        case 1:
            Toast.makeText(MainActivity.this,"選擇["+listItems[position]+"]",Toast.LENGTH_SHORT).show();
            break;
        case 2:
            Toast.makeText(MainActivity.this,"選擇["+listItems[position]+"]",Toast.LENGTH_SHORT).show();
            break;
        default:
            break;
    }
}
結(jié)果展示

MainActivity.JPG
代碼清單

import android.app.ListActivity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends ListActivity {

/*步驟一:創(chuàng)建一個列表選項的字符串?dāng)?shù)組對象*/
private String[] listItems;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    /*步驟二:實例化并初始化列表選項數(shù)組對象*/
    listItems = new String[]{"AdvanceListView","CustomerActivity","ViewHolderActivity"};
    /*步驟三:創(chuàng)建一個數(shù)組適配器(Adapter)用于裝載基礎(chǔ)數(shù)據(jù)并設(shè)置列表選項的顯示樣式*/
    ArrayAdapter<String> adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,listItems);
    /*步驟四:將創(chuàng)建好的適配器綁定到窗體默認的ListView組件中*/
    setListAdapter(adapter);
}

/*步驟五:重寫onListItemClick()方法完成對列表選項的單擊事件處理*/
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {

    super.onListItemClick(l, v, position, id);
    switch (position){
        case 0:
            Toast.makeText(MainActivity.this,"選擇["+listItems[position]+"]",Toast.LENGTH_SHORT).show();
            break;
        case 1:
            Toast.makeText(MainActivity.this,"選擇["+listItems[position]+"]",Toast.LENGTH_SHORT).show();
            break;
        case 2:
            Toast.makeText(MainActivity.this,"選擇["+listItems[position]+"]",Toast.LENGTH_SHORT).show();
            break;
        default:
            break;
    }
  }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容