我正在使用LazyAdaptor創建一個列表視圖,其中包含我從Web服務器解析的一些數據。每行都有一個ImageView,它的作用就像一個按鈕,當我點擊ImageView時,它會嘗試執行一個名爲「reference」的行中的值。我正在努力敬酒,它是一種快速確保我抓取正確參考ID的方法。我添加了一個OnClick方法,並能夠檢索「位置」,但不知道如何獲取參考ID。任何幫助,將不勝感激。從列表視圖行中檢索值
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
RowHolder holder = null;
if (convertView == null) {
vi = inflater.inflate(R.layout.group_view, null);
holder = new RowHolder();
holder.reference = (TextView) vi.findViewById(R.id.reference);
holder.name = (TextView) vi.findViewById(R.id.name);
holder.vicinity = (TextView) vi.findViewById(R.id.vicinity);
holder.checkin = (ImageView) vi.findViewById(R.id.check_in);
vi.setTag(holder);
} else {
holder = (RowHolder) vi.getTag();
}
HashMap<String, String> placeList = new HashMap<String, String>();
placeList = data.get(position);
holder.reference.setText(placeList.get(MainActivity.KEY_REFERENCE));
holder.name.setText(placeList.get(MainActivity.KEY_NAME));
holder.vicinity.setText(placeList.get(MainActivity.KEY_VICINITY));
holder.checkin.setTag(position);
holder.checkin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(activity, v.getTag().toString(), Toast.LENGTH_SHORT).show();
}
});
return vi;
}
ü需要設置的點擊偵聽器時convertView爲空 –
可以seTag的價值和使用getTag。做同樣的事情你做位置 – Raghunandan