引言
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;
}
}
}