Android 如何创建列表视图
2010-04-20 06:05:00 来源:WEB开发网接着上一篇实现一个带有复选框的列表视图,这要求对Adapter有比较清楚的理解。
1. ArrayAdapter从Layout读取TextView控件,返回给ListView显示,这个处理在ArrayAdapter的getView方法里,我们可以继承这个类,覆盖getView,改成读取CheckBox控件,看下面的代码:
CheckListView.java
class CheckArrayAdapter extends ArrayAdapter
{
public CheckArrayAdapter(Context context, int checkBoxResId,
T[] objects)
{
super(context, checkBoxResId, objects);
}
public CheckArrayAdapter(Context context, int checBoxResId)
{
super(context, checBoxResId);
}
public View getView(int position, View convertView, ViewGroup parent, int resource)
{
CheckBox checkBox;
if (convertView == null)
checkBox = (CheckBox)LayoutInflater.from(getContext()).inflate(resource, parent, false);
else
checkBox = (CheckBox)convertView;
T item = getItem(position);
if (item instanceof CharSequence)
checkBox.setText((CharSequence) item);
else
checkBox.setText(item.toString());
return checkBox;
}
}
2. 前一篇的CheckListView类改为从ListActivity继承,ListActivity默认以ListView为根视图,因此不需要Layout文件以及调用setContentView。
CheckListView.java
public class CheckListView extends ListActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
CheckArrayAdapter adapter = new CheckArrayAdapter(
this, R.layout.checkbox_item, mStrList);
getListView().setAdapter(adapter);
getListView().setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView parent, View view, int pos,
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››如何检查oracle的归档空间是否满了
- ››如何在浏览器中打开PDF文件并实现预览的思路与代码...
- ››如何改Win7系统我的文档保存位置
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
更多精彩
赞助商链接