我使用扩展基本适配器的列表视图适配器创建了一个列表视图。
它工作正常。但是我需要将 onitemClick 侦听器添加到 listview,当我单击一个列表项时,它会与 listitem 一起转到另一个活动。我们该怎么做?
这是我在 listview 适配器中的代码
public class listviewAdapter extends BaseAdapter{
String FIRST_COLUMN = Constant.FIRST_COLUMN;
String SECOND_COLUMN = Constant.SECOND_COLUMN;
String THIRD_COLUMN = Constant.THIRD_COLUMN;
String FOURTH_COLUMN = Constant.FOURTH_COLUMN;
public ArrayList<HashMap<String,String>> list;
Activity activity;
public listviewAdapter(Activity activity, ArrayList<HashMap<String,String>> list) {
super();
this.activity = activity;
this.list = list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
private class ViewHolder {
TextView txtFirst;
TextView txtSecond;
TextView txtThird;
TextView txtFourth;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View vi=convertView;
// TODO Auto-generated method stub
ViewHolder holder;
LayoutInflater inflater = activity.getLayoutInflater();
if (convertView == null)
{
convertView = inflater.inflate(R.layout.requestcard_columnsdetails, null);
holder = new ViewHolder();
holder.txtFirst = (TextView) convertView.findViewById(R.id.date);
holder.txtSecond = (TextView) convertView.findViewById(R.id.from);
holder.txtThird = (TextView) convertView.findViewById(R.id.to);
holder.txtFourth = (TextView) convertView.findViewById(R.id.time);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
HashMap<String, String> map = list.get(position);
holder.txtFirst.setText(map.get(FIRST_COLUMN));
holder.txtSecond.setText(map.get(SECOND_COLUMN));
holder.txtThird.setText(map.get(THIRD_COLUMN));
holder.txtFourth.setText(map.get(FOURTH_COLUMN));
return convertView;
}
}
我在主要活动中填充了列表项,使用
int a,b;
list = new ArrayList<HashMap<String,String>>();
for ( a=0; a<outputString.length;a++){
HashMap<String,String> temp1 = new HashMap<String,String>();
temp1.put( FIRST_COLUMN,outputString[a][0]);
temp1.put(SECOND_COLUMN, outputString[a][1]);
temp1.put(THIRD_COLUMN, outputString[a][4]);
temp1.put(FOURTH_COLUMN, outputString[a][5]);
list.add(temp1);
}
listviewAdapter adapter = new listviewAdapter(this, list);
lview.setAdapter(adapter);