引言
ListView是Android中最常用的控件之一简软,幾乎所有的應(yīng)用程序都會用到它煤杀。由于手機(jī)屏幕空間都比較有限汇陆,能夠一次性在屏幕上顯示的內(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)建好的適配器綁定到窗體默認(rèn)的ListView組件中
- 重寫onListItemClick()方法完成對列表選項的單擊事件處理
用法示例
Step-1 新建一個Activity窗體類
使用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)建好的適配器綁定到窗體默認(rèn)的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)前選中的列表選項的下標(biāo)位置標(biāo)識(默認(rèn)從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é)果展示
代碼清單
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)建好的適配器綁定到窗體默認(rèn)的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;
}
}
}