分类: 嵌入式
2011-10-19 10:17:26
1、 创建布局
2、 创建ListView
3、 将ListView加入布局
4、 将布局加入当前Activity
代码如下:
// 创建并设置布局对象
m_LinearLayout = new LinearLayout(this);
m_LinearLayout.setOrientation(LinearLayout.VERTICAL);
m_LinearLayout.setBackgroundColor(Color.BLACK);
// 创建并设置ListView对象
m_ListView = new ListView(this);
m_ListView.setBackgroundColor(Color.BLACK);
// 添加ListView对象到m_LinearLayout布局
LayoutParams param = new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
m_LinearLayout.addView(m_ListView, param);
// 显示m_LinearLayout布局
setContentView(m_LinearLayout);
二、 ListAdapter
// 获取数据库Phones中Cursor
Cursor cur = getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
startManagingCursor(cur);
// ListAdapter
ListAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2,// 每一行的显示模板
cur, // 数据库对象
new String[] { PhoneLookup.DISPLAY_NAME, PhoneLookup.HAS_PHONE_NUMBER }, // 从数据库中取出指定列的数据
new int[] { android.R.id.text1, android.R.id.text2 }); // 与上述两个字段对应的Views
// 将Adapter添加到m_ListView中去
m_ListView.setAdapter(adapter);
注意:该实例中使用了电话簿数据,因此要在AndroidManifest.xml中加入以下权限
三、 ItemSelectedListener监听
// 为视图加入ItemSelectedListener监听
m_ListView.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> arg0, View arg1, int arg2, long arg3) {
DisplayToast("滚动到第" + Long.toString(arg0.getSelectedItemId()) + "项");
}
@Override
public void onNothingSelected(AdapterView> arg0) {
// 没有选中
}
});
四、 ItemClickListener监听
// 为视图加入ItemClickListener监听
m_ListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> arg0, View arg1,
int arg2, long arg3) {
DisplayToast("选中了第" + Integer.toString(arg2 + 1) + "项");
}
});
五、 示例中用到的方法
private void DisplayToast(String string) {
Toast.makeText(this, string, Toast.LENGTH_SHORT).show();
}