0

LazyAdaptor を使用して、Web サーバーから解析しているデータを含むリストビューを作成しています。各行にはボタンのように機能する ImageView があり、ImageView をクリックすると、「参照」という名前の行の値が取得されます。正しい参照 ID を取得していることを確認するための簡単な方法として、Toast しようとしています。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;
}
4

4 に答える 4

4

これを試して、

  holder.checkin.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
            Toast.makeText(activity, placeList.get(MainActivity.KEY_REFERENCE), Toast.LENGTH_SHORT).show();
        }
    });

final HashMap<String, String> placeList = new HashMap<String, String>();

最後のキーワードを入れます。

于 2014-01-24T04:36:42.337 に答える