这里是自定义列表视图android系统中使用BaseAdapter其做工精细代码:如何使用BaseAdapter为自定义listview编写onitemClickListener的代码?
public class CustomListAdapter extends BaseAdapter {
private ArrayList<TaskClass> _listData;
Context _c;
public CustomListAdapter(Context context, ArrayList<TaskClass> listData) {
_listData = listData;
_c = context;
}
@Override
public int getCount() {
return _listData.size();
}
@Override
public Object getItem(int position) {
return _listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position,View convertView,ViewGroup parent) {
View v = convertView;
if (v == null)
{
LayoutInflater layoutInflator = (LayoutInflater) _c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = layoutInflator.inflate(R.layout.listview_row, null);
}
TextView titleText = (TextView)v.findViewById(R.id.holdTitleText);
TextView catText = (TextView)v.findViewById(R.id.holdCatText);
TextView descText = (TextView)v.findViewById(R.id.holdDescText);
TextView dateText = (TextView)v.findViewById(R.id.holdDateText);
//CheckBox checkBoxForEachItem = (CheckBox)v.findViewById(R.id.)
TaskClass taskClassInstance = _listData.get(position);
titleText.setText(taskClassInstance.getTitle());
catText.setText(taskClassInstance.getTaskCategory());
descText.setText(taskClassInstance.getDescription());
dateText.setText(taskClassInstance.getTaskDate());
return v;
}
}
,并在活动IM结合自定义适配器列表视图:
listViewInstance.setAdapter(new CustomListAdapter(getApplicationContext(),taskClasslistInstance));
其中“taskclasslistinstance”是我的ArrayList conatining数据从DB其工作正常 现在我需要编写listitemclick功能,以便当用户点击任何listitem我可以得到rowid从数据库得到rowwid后。所以我可以删除列表视图,并从数据库中记录和可编辑的信息
要求Google,而不是计算器?你正在寻找“长ID”,或者你可以在getView中设置一个手动的“id”视图setTag(),并通过v.getTag在clicklistener中获取它。 –