Android學習筆記09—ListView開發詳解(一)

引言

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

總體流程

  • 新建一個Module,并讓XxxActivity繼承ListActivity
  • 創建一個列表選項的字符串數組對象
  • 實例化并初始化列表選項數組對象
  • 創建一個數組適配器(Adapter),用于裝載基礎數據并設置列表選型的顯示樣式
  • 將創建好的適配器綁定到窗體默認的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 創建一個列表選項的字符串數組對象

private String[] listItems;

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

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

Step-4 創建一個數組適配器(Adapter),用于裝載基礎數據并設置列表選型的顯示樣式

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

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

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

setListAdapter(adapter);

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

語法:protected void onListItemClick(ListView l, View v, int position, long id)
參數1:當前操作的ListView組件對象
參數2:當前選擇的列表選項視圖對象
參數3:當前選中的列表選項的下標位置標識(默認從0開始)
參數4:當前選中的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;
    }
}
結果展示

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 {

/*步驟一:創建一個列表選項的字符串數組對象*/
private String[] listItems;

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

    /*步驟二:實例化并初始化列表選項數組對象*/
    listItems = new String[]{"AdvanceListView","CustomerActivity","ViewHolderActivity"};
    /*步驟三:創建一個數組適配器(Adapter)用于裝載基礎數據并設置列表選項的顯示樣式*/
    ArrayAdapter<String> adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,listItems);
    /*步驟四:將創建好的適配器綁定到窗體默認的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;
    }
  }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容