我正在使用 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;
}